diff options
| author | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-11 17:32:28 +0000 |
|---|---|---|
| committer | luke <luke@980ebf18-57e1-0310-9a29-db15c13687c0> | 2006-10-11 17:32:28 +0000 |
| commit | 7b0e528141fc740f0719ff1e52d4f600833abd8c (patch) | |
| tree | d4f765add5fec7acdb39ad02db855ff5340311c6 | |
| parent | 29cce30adc0c0fd41c3c81431c9b68b0b68f4025 (diff) | |
I was stupidly creating an error but not raising it.
git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1767 980ebf18-57e1-0310-9a29-db15c13687c0
| -rw-r--r-- | lib/puppet/type/state.rb | 1 | ||||
| -rw-r--r-- | test/types/state.rb | 20 |
2 files changed, 21 insertions, 0 deletions
diff --git a/lib/puppet/type/state.rb b/lib/puppet/type/state.rb index 26410493e..61c1a85e2 100644 --- a/lib/puppet/type/state.rb +++ b/lib/puppet/type/state.rb @@ -263,6 +263,7 @@ class State < Puppet::Parameter error = Puppet::Error.new("Could not set %s on %s: %s" % [value, self.class.name, detail], @parent.line, @parent.file) error.set_backtrace detail.backtrace + raise error end elsif ary = self.class.match?(value) # FIXME It'd be better here to define a method, so that diff --git a/test/types/state.rb b/test/types/state.rb index 8aad4c101..d4b5e91d5 100644 --- a/test/types/state.rb +++ b/test/types/state.rb @@ -140,6 +140,26 @@ class TestState < Test::Unit::TestCase assert_equal(tags + [inst.name], inst.tags) end end + + def test_failure + s = Struct.new(:line, :file, :path) + p = s.new(1, "yay", "rah") + mystate = Class.new(Puppet::State) + mystate.initvars + state = mystate.new(:parent => p) + + class << state + def set_mkfailure + raise "It's all broken" + end + end + + state.should = :mkfailure + + assert_raise(Puppet::Error) do + state.set + end + end end # $Id$ |
