diff options
| author | Luke Kanies <luke@madstop.com> | 2007-11-08 15:54:14 -0600 |
|---|---|---|
| committer | Luke Kanies <luke@madstop.com> | 2007-11-08 15:54:14 -0600 |
| commit | cf75168dc2f95a530dffb7971733a0db2ef70ba2 (patch) | |
| tree | 69b2005cc727679b8444a869aa2bca4d838e650f /test | |
| parent | dfe774f55e98db085d8f5729a4b1229513c6c2b0 (diff) | |
| download | puppet-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-x | test/language/compile.rb | 30 | ||||
| -rwxr-xr-x | test/language/functions.rb | 24 | ||||
| -rwxr-xr-x | test/lib/puppettest.rb | 4 |
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| |
