summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util
diff options
context:
space:
mode:
authorJesse Wolfe <jes5199@gmail.com>2010-04-26 17:01:01 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commitddd40bbc3a90133f223e91d6d4be21aada064a26 (patch)
treef2fe0e0b8d9d0073ca43df6e0f7367900bafcd25 /lib/puppet/util
parentd61a69a0e5a87a95846a4d39115eac80e4984cac (diff)
downloadpuppet-ddd40bbc3a90133f223e91d6d4be21aada064a26.tar.gz
puppet-ddd40bbc3a90133f223e91d6d4be21aada064a26.tar.xz
puppet-ddd40bbc3a90133f223e91d6d4be21aada064a26.zip
Fix for #3690 failing to calculate error codes
This failure was getting caused by what I believe to be a bug in Puppet::Configurer where it always generated a new Puppet::Transaction::Report, even if one existed in an outer scope. In puppetd --test, a different Report was getting queried to generate the exit status than the one that was passed to the transaction -- this Report had no Metrics and would fail when queried. This obscured a second bug that Metrics could return nil for values if the Transaction had applied an empty Catalog, but Transaction::Report assumes that values will always be integers. It could be argued that an empty Report should be populated with empty Metrics before a Transaction is run, which would have prevented Report#exit_status from raising an exception ... which would have made these bugs much harder to track down. So, I've decided to leave that unchanged. Signed-off-by: Jesse Wolfe <jes5199@gmail.com>
Diffstat (limited to 'lib/puppet/util')
-rw-r--r--lib/puppet/util/metric.rb2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/puppet/util/metric.rb b/lib/puppet/util/metric.rb
index b713246d5..8717fe0b9 100644
--- a/lib/puppet/util/metric.rb
+++ b/lib/puppet/util/metric.rb
@@ -14,7 +14,7 @@ class Puppet::Util::Metric
if value = @values.find { |v| v[0] == name }
return value[2]
else
- return nil
+ return 0
end
end