summaryrefslogtreecommitdiff
path: root/spec/functional/event_loggers
diff options
context:
space:
mode:
authorJay Mundrawala <jdmundrawala@gmail.com>2015-04-06 10:16:45 -0700
committerBryan McLellan <btm@chef.io>2015-04-20 15:30:21 -0400
commit5cd4ee159983f4cfa88b772072d86745f1993999 (patch)
tree13cf4f0f2011541c9613e05d1366a392c591a2dd /spec/functional/event_loggers
parent8a9cf7f0095254a4c01c86de43c3e60f5c9a0045 (diff)
downloadchef-5cd4ee159983f4cfa88b772072d86745f1993999.tar.gz
Fix nil pointer for windows event logger
It is possible for the run to fail and no run_status to even have been set. This resolves issue #2996
Diffstat (limited to 'spec/functional/event_loggers')
-rw-r--r--spec/functional/event_loggers/windows_eventlog_spec.rb14
1 files changed, 14 insertions, 0 deletions
diff --git a/spec/functional/event_loggers/windows_eventlog_spec.rb b/spec/functional/event_loggers/windows_eventlog_spec.rb
index 4e383dd429..0723e7b984 100644
--- a/spec/functional/event_loggers/windows_eventlog_spec.rb
+++ b/spec/functional/event_loggers/windows_eventlog_spec.rb
@@ -79,4 +79,18 @@ describe Chef::EventLoggers::WindowsEventLogger, :windows_only, :not_supported_o
end).to be_truthy
end
+ it 'writes run_failed event with event_id 10003 even when run_status is not set' do
+ logger.run_failed(mock_exception)
+
+ expect(event_log.read(flags, offset).any? do |e|
+ e.source == 'Chef' && e.event_id == 10003 &&
+ e.string_inserts[0].include?("UNKNOWN") &&
+ e.string_inserts[1].include?("UNKNOWN") &&
+ e.string_inserts[2].include?(mock_exception.class.name) &&
+ e.string_inserts[3].include?(mock_exception.message) &&
+ e.string_inserts[4].include?(mock_exception.backtrace[0]) &&
+ e.string_inserts[4].include?(mock_exception.backtrace[1])
+ end).to be_truthy
+ end
+
end