diff options
Diffstat (limited to 'tests/framework')
-rw-r--r-- | tests/framework/printers/JSONPrinter.cpp | 15 | ||||
-rw-r--r-- | tests/framework/printers/JSONPrinter.h | 1 | ||||
-rw-r--r-- | tests/framework/printers/PrettyPrinter.cpp | 7 | ||||
-rw-r--r-- | tests/framework/printers/PrettyPrinter.h | 1 | ||||
-rw-r--r-- | tests/framework/printers/Printer.h | 5 |
5 files changed, 29 insertions, 0 deletions
diff --git a/tests/framework/printers/JSONPrinter.cpp b/tests/framework/printers/JSONPrinter.cpp index 8d3c023a92..676ec69336 100644 --- a/tests/framework/printers/JSONPrinter.cpp +++ b/tests/framework/printers/JSONPrinter.cpp @@ -113,6 +113,21 @@ void JSONPrinter::print_test_footer() *_stream << "}"; } +void JSONPrinter::print_list_tests(const std::vector<TestInfo> &infos) +{ + *_stream << R"(, "list_tests" : {)"; + bool first = true; + for(auto info : infos) + { + if(!first) + { + *_stream << ","; + } + *_stream << R"(")" << info.id << R"(" : { "name": ")" << info.name << R"(", "mode": ")" << info.mode << R"(", "status" : ")" << info.status << R"(" })"; + first = false; + } + *_stream << "}"; +} void JSONPrinter::print_errors_header() { _errors.clear(); diff --git a/tests/framework/printers/JSONPrinter.h b/tests/framework/printers/JSONPrinter.h index a2811ea41b..3b783ac64f 100644 --- a/tests/framework/printers/JSONPrinter.h +++ b/tests/framework/printers/JSONPrinter.h @@ -52,6 +52,7 @@ public: void print_error(const std::exception &error, bool expected) override; void print_info(const std::string &info) override; void print_measurements(const Profiler::MeasurementsMap &measurements) override; + void print_list_tests(const std::vector<TestInfo> &infos) override; private: void print_separator(bool &flag); diff --git a/tests/framework/printers/PrettyPrinter.cpp b/tests/framework/printers/PrettyPrinter.cpp index 280813f044..a2ce821f6b 100644 --- a/tests/framework/printers/PrettyPrinter.cpp +++ b/tests/framework/printers/PrettyPrinter.cpp @@ -108,6 +108,13 @@ void PrettyPrinter::print_error(const std::exception &error, bool expected) *_stream << begin_color("1") << prefix << error.what() << end_color() << "\n"; } +void PrettyPrinter::print_list_tests(const std::vector<TestInfo> &infos) +{ + for(auto info : infos) + { + *_stream << "[" << info.id << ", " << info.mode << ", " << info.status << "] " << info.name << "\n"; + } +} void PrettyPrinter::print_measurements(const Profiler::MeasurementsMap &measurements) { for(const auto &instrument : measurements) diff --git a/tests/framework/printers/PrettyPrinter.h b/tests/framework/printers/PrettyPrinter.h index f72a613868..95487f94c5 100644 --- a/tests/framework/printers/PrettyPrinter.h +++ b/tests/framework/printers/PrettyPrinter.h @@ -56,6 +56,7 @@ public: void print_error(const std::exception &error, bool expected) override; void print_info(const std::string &info) override; void print_measurements(const Profiler::MeasurementsMap &measurements) override; + void print_list_tests(const std::vector<TestInfo> &infos) override; private: std::string begin_color(const std::string &color) const; diff --git a/tests/framework/printers/Printer.h b/tests/framework/printers/Printer.h index c2a44240ba..cb0aa1e4c2 100644 --- a/tests/framework/printers/Printer.h +++ b/tests/framework/printers/Printer.h @@ -102,6 +102,11 @@ public: /** Print footer after errors. */ virtual void print_errors_footer() = 0; + /** Print the list of all the tests + * + * @param[in] infos List of tests to print + */ + virtual void print_list_tests(const std::vector<TestInfo> &infos) = 0; /** Print test error. * * @param[in] error Description of the error. |