diff options
author | Luke Kanies <luke@madstop.com> | 2009-06-12 17:41:02 -0500 |
---|---|---|
committer | Luke Kanies <luke@madstop.com> | 2009-06-12 17:41:02 -0500 |
commit | d2080a5524f993ee746e33364582244cf0e17561 (patch) | |
tree | 66867db1a933f705518f81f4b554549771d8675b | |
parent | aab20201f44271df49d57fbf7c0925f09246b8f0 (diff) | |
download | puppet-d2080a5524f993ee746e33364582244cf0e17561.tar.gz puppet-d2080a5524f993ee746e33364582244cf0e17561.tar.xz puppet-d2080a5524f993ee746e33364582244cf0e17561.zip |
Fixing #2323 - Modules use environments correctly
Previously, modules were not using their environments
when looking up their paths, which meant that they
often found files in the wrong environment.
Signed-off-by: Luke Kanies <luke@madstop.com>
-rw-r--r-- | lib/puppet/module.rb | 2 | ||||
-rwxr-xr-x | spec/unit/module.rb | 8 |
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/puppet/module.rb b/lib/puppet/module.rb index 701e4b258..a9f845d6a 100644 --- a/lib/puppet/module.rb +++ b/lib/puppet/module.rb @@ -110,7 +110,7 @@ class Puppet::Module # Find this module in the modulepath. def path - self.class.modulepath.collect { |path| File.join(path, name) }.find { |d| FileTest.exist?(d) } + environment.modulepath.collect { |path| File.join(path, name) }.find { |d| FileTest.exist?(d) } end # Find all plugin directories. This is used by the Plugins fileserving mount. diff --git a/spec/unit/module.rb b/spec/unit/module.rb index 4ff69695e..60c198ea9 100755 --- a/spec/unit/module.rb +++ b/spec/unit/module.rb @@ -45,10 +45,12 @@ describe Puppet::Module do Puppet::Module.new("foo", env).environment.should equal(env) end - it "should return the path to the first found instance in its module paths as its path" do + it "should return the path to the first found instance in its environment's module paths as its path" do mod = Puppet::Module.new("foo") - paths = %w{/a /b /c} - Puppet::Module.stubs(:modulepath).returns paths + env = mock 'environment' + mod.stubs(:environment).returns env + + env.expects(:modulepath).returns %w{/a /b /c} FileTest.expects(:exist?).with("/a/foo").returns false FileTest.expects(:exist?).with("/b/foo").returns true |