summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-11-08 15:54:14 -0600
committerLuke Kanies <luke@madstop.com>2007-11-08 15:54:14 -0600
commitcf75168dc2f95a530dffb7971733a0db2ef70ba2 (patch)
tree69b2005cc727679b8444a869aa2bca4d838e650f /test
parentdfe774f55e98db085d8f5729a4b1229513c6c2b0 (diff)
downloadpuppet-cf75168dc2f95a530dffb7971733a0db2ef70ba2.tar.gz
puppet-cf75168dc2f95a530dffb7971733a0db2ef70ba2.tar.xz
puppet-cf75168dc2f95a530dffb7971733a0db2ef70ba2.zip
Classes once again get evaluated immediately when the
'include' function is used, instead of being lazy-evaluated. Previous work caused resources to get created to model these classes, but in the process, I removed the fact that the classes were evaluated immediately. This meant that you couldn't guarantee that a class was evaluated before you went to use its variables.
Diffstat (limited to 'test')
-rwxr-xr-xtest/language/compile.rb30
-rwxr-xr-xtest/language/functions.rb24
-rwxr-xr-xtest/lib/puppettest.rb4
3 files changed, 6 insertions, 52 deletions
diff --git a/test/language/compile.rb b/test/language/compile.rb
index 07ef54626..380da3da5 100755
--- a/test/language/compile.rb
+++ b/test/language/compile.rb
@@ -267,36 +267,6 @@ class TestCompile < Test::Unit::TestCase
end
end
- def test_evaluate_classes
- compile = mkcompile
- compile.parser.expects(:findclass).with("", "").returns(stub('main', :classname => ""))
- compile.send :evaluate_main
- classes = {
- "one" => stub('class one', :classname => "one"),
- "three" => stub('class three', :classname => "three")
- }
-
- classes.each do |name, obj|
- compile.parser.expects(:findclass).with("", name).returns(obj)
- end
- %w{two four}.each do |name|
- compile.parser.expects(:findclass).with("", name).returns(nil)
- end
-
- %w{one two three four}.each do |name|
- compile.configuration.expects(:tag).with(name)
- end
-
- result = nil
- assert_nothing_raised("could not call evaluate_node_classes") do
- result = compile.send(:evaluate_classes, %w{one two three four}, compile.topscope)
- end
- %w{one three}.each do |found|
- assert(compile.resources.find { |r| r.to_s == "Class[#{found}]" }, "Did not create a class resource for %s" % found)
- end
- assert_equal(%w{one three}, result, "Did not return the list of evaluated classes")
- end
-
def test_evaluate_collections
compile = mkcompile
diff --git a/test/language/functions.rb b/test/language/functions.rb
index 746ba4b1d..3a7779d3d 100755
--- a/test/language/functions.rb
+++ b/test/language/functions.rb
@@ -427,30 +427,10 @@ class TestLangFunctions < Test::Unit::TestCase
parser.newclass("myclass")
- assert_nothing_raised do
- scope.function_include "myclass"
- end
-
- assert(scope.compile.resources.find { |r| r.to_s == "Class[myclass]" },
- "class was not evaluated")
-
- # Now try multiple classes at once
- classes = %w{one two three}.each { |c| parser.newclass(c) }
+ scope.compile.expects(:evaluate_classes).with(%w{myclass otherclass}, scope).returns(%w{myclass otherclass})
assert_nothing_raised do
- scope.function_include classes
- end
-
- classes.each do |c|
- assert(scope.compile.resources.find { |r| r.to_s == "Class[#{c}]" },
- "class %s was not evaluated" % c)
- end
-
- # Now try a scoped class
- parser.newclass("os::redhat")
-
- assert_nothing_raised("Could not include qualified class name") do
- scope.function_include("os::redhat")
+ scope.function_include(["myclass", "otherclass"])
end
end
diff --git a/test/lib/puppettest.rb b/test/lib/puppettest.rb
index eb50077b8..a9ca6d472 100755
--- a/test/lib/puppettest.rb
+++ b/test/lib/puppettest.rb
@@ -195,6 +195,8 @@ module PuppetTest
end
Puppet[:ignoreschedules] = true
+
+ @start = Time.now
end
def tempfile
@@ -244,6 +246,8 @@ module PuppetTest
end
def teardown
+ @stop = Time.now
+ File.open("/tmp/test_times.log", ::File::WRONLY|::File::CREAT|::File::APPEND) { |f| f.puts "%0.4f %s %s" % [@stop - @start, @method_name, self.class] }
@@cleaners.each { |cleaner| cleaner.call() }
@@tmpfiles.each { |file|