summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-11-26 22:57:33 -0600
committerLuke Kanies <luke@madstop.com>2007-11-26 22:57:33 -0600
commit2cb11994784a5bcdbbee3f4ac44329c4feb1d6a6 (patch)
tree1637a250399b7bd97d37229f08b1191dcedbdf8a
parent2d19ee2a0452baf75a23093e6fea3b743a5f0a69 (diff)
Fixing the breakage that I caused when I added the 'declared_feature?'
method to provider features.
-rw-r--r--lib/puppet/util/provider_features.rb2
-rwxr-xr-xtest/ral/providers/provider.rb12
2 files changed, 10 insertions, 4 deletions
diff --git a/lib/puppet/util/provider_features.rb b/lib/puppet/util/provider_features.rb
index 3a9d4262d..5b0c99525 100644
--- a/lib/puppet/util/provider_features.rb
+++ b/lib/puppet/util/provider_features.rb
@@ -149,7 +149,7 @@ module Puppet::Util::ProviderFeatures
@features.each do |name, feature|
method = name.to_s + "?"
@feature_module.send(:define_method, method) do
- self.class.declared_feature?(name) or feature.available?(self)
+ (is_a?(Class) ? declared_feature?(name) : self.class.declared_feature?(name)) or feature.available?(self)
end
end
diff --git a/test/ral/providers/provider.rb b/test/ral/providers/provider.rb
index 9aaf77783..2196fafce 100755
--- a/test/ral/providers/provider.rb
+++ b/test/ral/providers/provider.rb
@@ -456,11 +456,17 @@ class TestProviderFeatures < Test::Unit::TestCase
:none => [:nomeths]}
should.each do |name, features|
- provider = @type.provider(name)
+ provider_class = @type.provider(name)
+ provider = provider_class.new({})
+
assert(provider, "did not get provider named %s" % name)
features.sort! { |a,b| a.to_s <=> b.to_s }
- assert_equal(features, provider.features,
- "Got incorrect feature list for %s" % name)
+ assert_equal(features, provider.features, "Got incorrect feature list for provider instance %s" % name)
+ assert_equal(features, provider_class.features, "Got incorrect feature list for provider class %s" % name)
+ features.each do |feat|
+ assert(provider.feature?(feat), "Provider instance %s did not have feature %s" % [name, feat])
+ assert(provider_class.feature?(feat), "Provider class %s did not have feature %s" % [name, feat])
+ end
end
end