[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 0.25.5-639-g8f94f35

test branch puppet-dev at googlegroups.com
Wed Jul 14 10:34:36 UTC 2010


The following commit has been merged in the upstream branch:
commit d6407f46f1743b9f3916d74bc0ed521fb5bf259d
Author: Luke Kanies <luke at puppetlabs.com>
Date:   Thu Jun 10 20:54:15 2010 -0700

    Working #3139 - removing obsolete checking in Storage
    
    We were type-checking the use of Storage for no good reason.
    
    I've removed all of that, so we can use either resources
    or their Refs for caching.
    
    Signed-off-by: Luke Kanies <luke at puppetlabs.com>

diff --git a/lib/puppet/util/storage.rb b/lib/puppet/util/storage.rb
index 1b3d498..de2f382 100644
--- a/lib/puppet/util/storage.rb
+++ b/lib/puppet/util/storage.rb
@@ -22,18 +22,10 @@ class Puppet::Util::Storage
     # types like exec, but it also means that if an object changes locations
     # in the configuration it will lose its cache.
     def self.cache(object)
-        if object.is_a? Puppet::Type
-            # We used to store things by path, now we store them by ref.
-            # In oscar(0.20.0) this changed to using the ref.
-            if @@state.include?(object.path)
-                @@state[object.ref] = @@state[object.path]
-                @@state.delete(object.path)
-            end
-            name = object.ref
-        elsif object.is_a?(Symbol)
+        if object.is_a?(Symbol)
             name = object
         else
-            raise ArgumentError, "You can only cache information for Types and symbols"
+            name = object.to_s
         end
 
         return @@state[name] ||= {}
diff --git a/spec/unit/util/storage.rb b/spec/unit/util/storage.rb
index 09eb6b2..ce5bd20 100755
--- a/spec/unit/util/storage.rb
+++ b/spec/unit/util/storage.rb
@@ -61,25 +61,11 @@ describe Puppet::Util::Storage do
         end
     end
 
-    describe "when caching invalid objects" do
-        before(:all) do
-            @bogus_objects = [ {}, [], "foo", 42, nil, Tempfile.new('storage_test') ]
-        end
-
-        it "should raise an ArgumentError" do
-            @bogus_objects.each do |object|
-                proc { Puppet::Util::Storage.cache(object) }.should raise_error()
-            end
-        end
-
-        it "should not add anything to its internal state" do
-            @bogus_objects.each do |object|
-                begin
-                    Puppet::Util::Storage.cache(object)
-                rescue
-                    Puppet::Util::Storage.state().should == {}
-                end
-            end
+    describe "when caching something other than a resource or symbol" do
+        it "should cache by converting to a string" do
+            data = Puppet::Util::Storage.cache(42)
+            data[:yay] = true
+            Puppet::Util::Storage.cache("42")[:yay].should be_true
         end
     end
 
diff --git a/test/util/storage.rb b/test/util/storage.rb
index e2c4dce..b0efff3 100755
--- a/test/util/storage.rb
+++ b/test/util/storage.rb
@@ -74,25 +74,5 @@ class TestStorage < Test::Unit::TestCase
         assert_same Hash, state.class
         assert_equal 0, state.size
     end
-
-    def test_caching
-        hash = nil
-        one = Puppet::Type.type(:exec).new :title => "/bin/echo one"
-        [one, :yayness].each do |object|
-            assert_nothing_raised do
-                hash = Puppet::Util::Storage.cache(object)
-            end
-            assert_equal({}, hash, "Did not get empty hash back for %s" % object)
-
-            hash[:testing] = true
-            assert_nothing_raised do
-                hash = Puppet::Util::Storage.cache(object)
-            end
-            assert_equal({:testing => true}, hash, "Did not get hash back for %s" % object)
-        end
-        assert_raise(ArgumentError, "was able to cache from string") do
-            Puppet::Util::Storage.cache("somethingelse")
-        end
-    end
 end
 

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list