From 24a82463b683322a6bb11a103746ea9d9b3f53fb Mon Sep 17 00:00:00 2001 From: Moritz Pflanzer Date: Fri, 4 Aug 2017 11:34:44 +0100 Subject: COMPMID-415: Use printer for errors Change-Id: Idc2fc1dfd5706580d15c2bbfffe2830d41075a4b Reviewed-on: http://mpd-gerrit.cambridge.arm.com/82908 Reviewed-by: Anthony Barbier Tested-by: Kaizen --- framework/printers/JSONPrinter.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'framework/printers/JSONPrinter.cpp') diff --git a/framework/printers/JSONPrinter.cpp b/framework/printers/JSONPrinter.cpp index 7806644418..3408174b48 100644 --- a/framework/printers/JSONPrinter.cpp +++ b/framework/printers/JSONPrinter.cpp @@ -78,6 +78,7 @@ void JSONPrinter::print_test_header(const TestInfo &info) { print_separator(_first_test); + _first_test_entry = true; *_stream << R"(")" << info.name << R"(" : {)"; } @@ -86,8 +87,32 @@ void JSONPrinter::print_test_footer() *_stream << "}"; } +void JSONPrinter::print_errors_header() +{ + print_separator(_first_test_entry); + + _first_error = true; + *_stream << R"("errors" : [)"; +} + +void JSONPrinter::print_errors_footer() +{ + *_stream << "]"; +} + +void JSONPrinter::print_error(const std::exception &error) +{ + print_separator(_first_error); + + *_stream << R"(")" << error.what() << R"(")"; +} + void JSONPrinter::print_measurements(const Profiler::MeasurementsMap &measurements) { + print_separator(_first_test_entry); + + *_stream << R"("measurements" : {)"; + for(auto i_it = measurements.cbegin(), i_end = measurements.cend(); i_it != i_end;) { *_stream << R"(")" << i_it->first << R"(" : {)"; @@ -129,6 +154,8 @@ void JSONPrinter::print_measurements(const Profiler::MeasurementsMap &measuremen *_stream << ","; } } + + *_stream << "}"; } } // namespace framework } // namespace test -- cgit v1.2.1