From 39f1b4589ae5a6e61dd9dbec07886e38e8fdfa50 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Wed, 15 Mar 2017 10:41:08 +0100 Subject: [PATCH] Improve handling for missing start_time and finish_time values fixes #5062 --- lib/compat/checkresultreader.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/lib/compat/checkresultreader.cpp b/lib/compat/checkresultreader.cpp index af374da9f..1ac8546e5 100644 --- a/lib/compat/checkresultreader.cpp +++ b/lib/compat/checkresultreader.cpp @@ -165,8 +165,16 @@ void CheckResultReader::ProcessCheckResultFile(const String& path) const result->SetOutput(co.first); result->SetPerformanceData(PluginUtility::SplitPerfdata(co.second)); result->SetState(PluginUtility::ExitStatusToState(Convert::ToLong(attrs["return_code"]))); - result->SetExecutionStart(Convert::ToDouble(attrs["start_time"])); - result->SetExecutionEnd(Convert::ToDouble(attrs["finish_time"])); + + if (attrs.find("start_time") != attrs.end()) + result->SetExecutionStart(Convert::ToDouble(attrs["start_time"])); + else + result->SetExecutionStart(Utility::GetTime()); + + if (attrs.find("finish_time") != attrs.end()) + result->SetExecutionEnd(Convert::ToDouble(attrs["finish_time"])); + else + result->SetExecutionEnd(result->GetExecutionStart()); checkable->ProcessCheckResult(result);