summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-01-20 22:00:05 -0800
committerLuke Kanies <luke@madstop.com>2008-02-04 19:32:36 -0600
commited0c745c0f3b0f277968149ca25c78ce374bd2e4 (patch)
treecb13012513392802dfcc00a1fdde867faa465223
parent6ff9423c7ebaf759fcee28a3009cd59bed3ea886 (diff)
downloadpuppet-ed0c745c0f3b0f277968149ca25c78ce374bd2e4.tar.gz
puppet-ed0c745c0f3b0f277968149ca25c78ce374bd2e4.tar.xz
puppet-ed0c745c0f3b0f277968149ca25c78ce374bd2e4.zip
Fixing #1017 -- environment-specific modulepath is no
longer ignored. (Cherry-picked from master.)
-rw-r--r--CHANGELOG2
-rw-r--r--lib/puppet/parser/parser_support.rb2
-rwxr-xr-xtest/language/parser.rb12
-rw-r--r--test/lib/puppettest/parsertesting.rb4
4 files changed, 17 insertions, 3 deletions
diff --git a/CHANGELOG b/CHANGELOG
index e49253b3a..cfe6657bf 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,5 @@
+ Fixed #1017 -- environment-specific modulepath is no longer ignored.
+
Fixing #794 -- consolidating the gentoo configuration files.
Fixing #976 -- both the full name of qualified classes and
diff --git a/lib/puppet/parser/parser_support.rb b/lib/puppet/parser/parser_support.rb
index b543cd3ec..ccfc4d48a 100644
--- a/lib/puppet/parser/parser_support.rb
+++ b/lib/puppet/parser/parser_support.rb
@@ -177,7 +177,7 @@ class Puppet::Parser::Parser
"in file #{@lexer.file} at line #{@lexer.line}"
)
end
- files = Puppet::Module::find_manifests(pat, :cwd => dir)
+ files = Puppet::Module::find_manifests(pat, :cwd => dir, :environment => @environment)
if files.size == 0
raise Puppet::ImportError.new("No file(s) found for import " +
"of '#{pat}'")
diff --git a/test/language/parser.rb b/test/language/parser.rb
index 9a2aed711..1bbd894e4 100755
--- a/test/language/parser.rb
+++ b/test/language/parser.rb
@@ -1188,5 +1188,17 @@ file { "/tmp/yayness":
assert_equal(result, parser.finddefine("", "fUntEst"),
"%s was not matched" % "fUntEst")
end
+
+ def test_manifests_with_multiple_environments
+ parser = mkparser :environment => "something"
+
+ # We use an exception to cut short the processing to simplify our stubbing
+ #Puppet::Module.expects(:find_manifests).with("test", {:cwd => ".", :environment => "something"}).raises(Puppet::ParseError)
+ Puppet::Module.expects(:find_manifests).with("test", {:cwd => ".", :environment => "something"}).returns([])
+
+ assert_raise(Puppet::ImportError) do
+ parser.import("test")
+ end
+ end
end
diff --git a/test/lib/puppettest/parsertesting.rb b/test/lib/puppettest/parsertesting.rb
index 6fd60180a..36bb68a77 100644
--- a/test/lib/puppettest/parsertesting.rb
+++ b/test/lib/puppettest/parsertesting.rb
@@ -58,8 +58,8 @@ module PuppetTest::ParserTesting
Puppet::Parser::Interpreter.new
end
- def mkparser
- Puppet::Parser::Parser.new()
+ def mkparser(args = {})
+ Puppet::Parser::Parser.new(args)
end
def mkscope(hash = {})