diff options
| author | Luke Kanies <luke@madstop.com> | 2007-11-26 22:57:33 -0600 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2007-11-26 22:57:33 -0600 |
| commit | 2cb11994784a5bcdbbee3f4ac44329c4feb1d6a6 (patch) | |
| tree | 1637a250399b7bd97d37229f08b1191dcedbdf8a | |
| parent | 2d19ee2a0452baf75a23093e6fea3b743a5f0a69 (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.rb | 2 | ||||
| -rwxr-xr-x | test/ral/providers/provider.rb | 12 |
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 |
