X-Git-Url: https://git.stg.codes/stg.git/blobdiff_plain/3156083fd0c328d46be22536720ae33e1ab48090..08dd72f2d8d3d7766e4fa87f01840c3ed8211091:/tests/tut/tut_cppunit_reporter.hpp diff --git a/tests/tut/tut_cppunit_reporter.hpp b/tests/tut/tut_cppunit_reporter.hpp deleted file mode 100644 index 3b9f38c1..00000000 --- a/tests/tut/tut_cppunit_reporter.hpp +++ /dev/null @@ -1,201 +0,0 @@ - -#ifndef TUT_CPPUNIT_REPORTER -#define TUT_CPPUNIT_REPORTER - -#include -#include -#include -#include -#include - -namespace tut -{ - -/** - * CppUnit TUT reporter - */ -class cppunit_reporter : public tut::callback -{ - private: - std::vector failed_tests; - std::vector passed_tests; - std::string filename; - - std::string encode(const std::string & text) - { - std::string out; - - for (unsigned int i=0; i': - out += ">"; - break; - case '&': - out += "&"; - break; - case '\'': - out += "'"; - break; - case '"': - out += """; - break; - default: - out += c; - } - } - - return out; - } - -public: - - cppunit_reporter(const std::string & _filename = "") - { - setFilename(_filename); - } - - void setFilename(const std::string & _filename) - { - if (_filename == "") - { - filename = "testResult.xml"; - } - else - { - filename = _filename; - } - } - - void run_started() - { - failed_tests.clear(); - passed_tests.clear(); - } - - void test_completed(const tut::test_result& tr) - { - if (tr.result == test_result::ok) { - passed_tests.push_back(tr); - } else { - failed_tests.push_back(tr); - } - } - - void run_completed() - { - int errors = 0; - int failures = 0; - std::string failure_type; - std::string failure_msg; - std::ofstream xmlfile; - - xmlfile.open(filename.c_str(), std::ios::in | std::ios::trunc); - if (!xmlfile.is_open()) { - throw (std::runtime_error("Cannot open file for output")); - } - - /* *********************** header ***************************** */ - xmlfile << "" << std::endl - << "" << std::endl; - - /* *********************** failed tests ***************************** */ - if (failed_tests.size() > 0) { - xmlfile << " " << std::endl; - - for (unsigned int i=0; i" << std::endl - << " " << encode(failed_tests[i].group) + "::" + encode(failed_tests[i].name) << "" << std::endl - << " " << failure_type << "" << std::endl - << " " << std::endl - << " Unknown" << std::endl - << " Unknown" << std::endl - << " " << std::endl - << " " << encode(failure_msg + failed_tests[i].message) << "" << std::endl - << " " << std::endl; - } - - xmlfile << " " << std::endl; - } - - /* *********************** passed tests ***************************** */ - if (passed_tests.size() > 0) { - xmlfile << " " << std::endl; - - for (unsigned int i=0; i" << std::endl - << " " << encode(passed_tests[i].group) + "::" + encode(passed_tests[i].name) << "" << std::endl - << " " << std::endl; - } - - xmlfile << " " << std::endl; - } - - /* *********************** statistics ***************************** */ - xmlfile << " " << std::endl - << " " << (failed_tests.size() + passed_tests.size()) << "" << std::endl - << " " << failed_tests.size() << "" << std::endl - << " " << errors << "" << std::endl - << " " << failures << "" << std::endl - << " " << std::endl; - - /* *********************** footer ***************************** */ - xmlfile << "" << std::endl; - - xmlfile.close(); - } - - bool all_ok() const - { - return failed_tests.empty(); - }; - - -}; - -} - -#endif -