diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-12-27 19:42:30 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-12-27 19:42:30 +0000 |
| commit | d3a7c28ac7ea9a68a024d89cf39f1f6502b0a900 (patch) | |
| tree | 95ef150b6df7f5a3f99100f269f7a4a77718cda3 | |
| parent | 1d057396de46eab64f757d79c7996d0ca0245043 (diff) | |
| download | puppet-d3a7c28ac7ea9a68a024d89cf39f1f6502b0a900.tar.gz puppet-d3a7c28ac7ea9a68a024d89cf39f1f6502b0a900.tar.xz puppet-d3a7c28ac7ea9a68a024d89cf39f1f6502b0a900.zip | |
Fixing #386.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1974 980ebf18-57e1-0310-9a29-db15c13687c0
| -rw-r--r-- | lib/puppet/transaction.rb | 2 | ||||
| -rwxr-xr-x | test/other/transactions.rb | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/puppet/transaction.rb b/lib/puppet/transaction.rb index a7862aea2..d115fbfe7 100644 --- a/lib/puppet/transaction.rb +++ b/lib/puppet/transaction.rb @@ -159,6 +159,7 @@ class Transaction if children = resource.eval_generate copy_relationships(resource, children) @generated += children + children.each { |child| child.finish } return children end end @@ -313,6 +314,7 @@ class Transaction @resources.add_vertex!(res) newlist << res @generated << res + res.finish end end end diff --git a/test/other/transactions.rb b/test/other/transactions.rb index 1b9257dec..5feec5c96 100755 --- a/test/other/transactions.rb +++ b/test/other/transactions.rb @@ -13,9 +13,15 @@ class TestTransactions < Test::Unit::TestCase include PuppetTest::Support::Resources def mkgenerator(&block) + $finished = [] + cleanup { $finished = nil } + # Create a bogus type that generates new instances with shorter type = Puppet::Type.newtype(:generator) do newparam(:name, :namevar => true) + def finish + $finished << self.name + end end if block type.class_eval(&block) @@ -590,6 +596,7 @@ class TestTransactions < Test::Unit::TestCase %w{ya ra y r}.each do |name| assert(trans.resources.vertex?(Puppet::Type.type(:generator)[name]), "Generated %s was not a vertex" % name) + assert($finished.include?(name), "%s was not finished" % name) end # Now make sure that cleanup gets rid of those generated types. @@ -649,6 +656,7 @@ class TestTransactions < Test::Unit::TestCase assert(res, "Did not generate %s" % name) assert(trans.relgraph.vertex?(res), "Did not add %s to rel_graph" % name) + assert($finished.include?("y"), "y was not finished") end assert_nothing_raised("failed to eval_generate with nil response") do @@ -664,6 +672,7 @@ class TestTransactions < Test::Unit::TestCase assert(ra, "Did not generate ra") assert(trans.relgraph.vertex?(ra), "Did not add ra to rel_graph" % name) + assert($finished.include?("ra"), "y was not finished") # Now make sure this generated resource has the same relationships as # the generating resource |
