diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-08-07 02:38:45 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2007-08-07 02:38:45 +0000 |
| commit | b84015af897650aaebdb69674c4be137ea066d8d (patch) | |
| tree | 70c840a70b30a6a8e14a573ad227debefd94049c | |
| parent | aaf5959fe3e9ff90d7288bb1ba8805bad2e7d05a (diff) | |
| download | puppet-b84015af897650aaebdb69674c4be137ea066d8d.tar.gz puppet-b84015af897650aaebdb69674c4be137ea066d8d.tar.xz puppet-b84015af897650aaebdb69674c4be137ea066d8d.zip | |
The last set of bug-fixes before the next release. This commit just fixes a couple of problems that resulted when I changed the Provider#initialize method to not duplicate its argument, which was necessary for ParsedFile.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@2753 980ebf18-57e1-0310-9a29-db15c13687c0
| -rw-r--r-- | lib/puppet/provider.rb | 2 | ||||
| -rwxr-xr-x | lib/puppet/provider/package/dpkg.rb | 2 | ||||
| -rwxr-xr-x | lib/puppet/provider/package/openbsd.rb | 2 | ||||
| -rwxr-xr-x | lib/puppet/provider/package/rpm.rb | 4 | ||||
| -rwxr-xr-x | lib/puppet/provider/package/sun.rb | 2 | ||||
| -rwxr-xr-x | test/ral/types/package.rb | 6 |
6 files changed, 10 insertions, 8 deletions
diff --git a/lib/puppet/provider.rb b/lib/puppet/provider.rb index b836887e9..5a38f7f20 100644 --- a/lib/puppet/provider.rb +++ b/lib/puppet/provider.rb @@ -356,7 +356,7 @@ class Puppet::Provider elsif self.resource resource.name else - raise Puppet::DevError, "No resource and no name in property hash" + raise Puppet::DevError, "No resource and no name in property hash in %s instance" % self.class.name end end diff --git a/lib/puppet/provider/package/dpkg.rb b/lib/puppet/provider/package/dpkg.rb index a739f38e2..d2f7048b9 100755 --- a/lib/puppet/provider/package/dpkg.rb +++ b/lib/puppet/provider/package/dpkg.rb @@ -24,7 +24,7 @@ Puppet::Type.type(:package).provide :dpkg, :parent => Puppet::Provider::Package # now turn each returned line into a package object process.each { |line| if match = regex.match(line) - hash.clear + hash = {} fields.zip(match.captures) { |field,value| hash[field] = value diff --git a/lib/puppet/provider/package/openbsd.rb b/lib/puppet/provider/package/openbsd.rb index 34739dc08..11662abe8 100755 --- a/lib/puppet/provider/package/openbsd.rb +++ b/lib/puppet/provider/package/openbsd.rb @@ -21,7 +21,6 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa # now turn each returned line into a package object process.each { |line| - hash.clear if match = regex.match(line) fields.zip(match.captures) { |field,value| hash[field] = value @@ -32,6 +31,7 @@ Puppet::Type.type(:package).provide :openbsd, :parent => Puppet::Provider::Packa hash[:provider] = self.name packages << new(hash) + hash = {} else # Print a warning on lines we can't match, but move # on, since it should be non-fatal diff --git a/lib/puppet/provider/package/rpm.rb b/lib/puppet/provider/package/rpm.rb index f7f3237e6..a31e4edf6 100755 --- a/lib/puppet/provider/package/rpm.rb +++ b/lib/puppet/provider/package/rpm.rb @@ -30,13 +30,11 @@ Puppet::Type.type(:package).provide :rpm, :source => :rpm, :parent => Puppet::Pr # our regex for matching dpkg output regex = %r{^(\S+)\s+(\S+)} fields = [:name, :ensure] - hash = {} # now turn each returned line into a package object process.each { |line| if match = regex.match(line) - hash.clear - + hash = {} fields.zip(match.captures) { |field,value| hash[field] = value } diff --git a/lib/puppet/provider/package/sun.rb b/lib/puppet/provider/package/sun.rb index 8fe25bb1a..92a5d0ef0 100755 --- a/lib/puppet/provider/package/sun.rb +++ b/lib/puppet/provider/package/sun.rb @@ -43,7 +43,7 @@ Puppet::Type.type(:package).provide :sun, :parent => Puppet::Provider::Package d hash[:provider] = :sun packages << new(hash) - hash.clear + hash = {} when /\s*(\w+):\s+(.+)/: name = $1 value = $2 diff --git a/test/ral/types/package.rb b/test/ral/types/package.rb index 95f0479a7..79b769c26 100755 --- a/test/ral/types/package.rb +++ b/test/ral/types/package.rb @@ -86,7 +86,11 @@ class TestPackages < Test::Unit::TestCase # Make sure we can prefetch and retrieve packages def test_package_instances providers = [] - @type.instances.each do |resource| + instances = nil + assert_nothing_raised("Could not get package instances") do + instances = @type.instances + end + instances.each do |resource| # Just do one of each type next if providers.include?(resource.provider.class) providers << resource.provider.class |
