[857] | 1 | // (C) Copyright Gennadiy Rozental 2005.
|
---|
| 2 | // Distributed under the Boost Software License, Version 1.0.
|
---|
| 3 | // (See accompanying file LICENSE_1_0.txt or copy at
|
---|
| 4 | // http://www.boost.org/LICENSE_1_0.txt)
|
---|
| 5 |
|
---|
| 6 | // See http://www.boost.org/libs/test for the library home page.
|
---|
| 7 | //
|
---|
| 8 | // File : $RCSfile: xml_report_formatter.ipp,v $
|
---|
| 9 | //
|
---|
| 10 | // Version : $Revision: 1.2 $
|
---|
| 11 | //
|
---|
| 12 | // Description : XML report formatter
|
---|
| 13 | // ***************************************************************************
|
---|
| 14 |
|
---|
| 15 | #ifndef BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
|
---|
| 16 | #define BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
|
---|
| 17 |
|
---|
| 18 | // Boost.Test
|
---|
| 19 | #include <boost/test/results_collector.hpp>
|
---|
| 20 | #include <boost/test/unit_test_suite.hpp>
|
---|
| 21 | #include <boost/test/output/xml_report_formatter.hpp>
|
---|
| 22 |
|
---|
| 23 | #include <boost/test/utils/xml_printer.hpp>
|
---|
| 24 | #include <boost/test/utils/basic_cstring/io.hpp>
|
---|
| 25 |
|
---|
| 26 | #include <boost/test/detail/suppress_warnings.hpp>
|
---|
| 27 |
|
---|
| 28 | //____________________________________________________________________________//
|
---|
| 29 |
|
---|
| 30 | namespace boost {
|
---|
| 31 |
|
---|
| 32 | namespace unit_test {
|
---|
| 33 |
|
---|
| 34 | namespace output {
|
---|
| 35 |
|
---|
| 36 | void
|
---|
| 37 | xml_report_formatter::results_report_start( std::ostream& ostr )
|
---|
| 38 | {
|
---|
| 39 | ostr << "<TestResult>";
|
---|
| 40 | }
|
---|
| 41 |
|
---|
| 42 | //____________________________________________________________________________//
|
---|
| 43 |
|
---|
| 44 | void
|
---|
| 45 | xml_report_formatter::results_report_finish( std::ostream& ostr )
|
---|
| 46 | {
|
---|
| 47 | ostr << "</TestResult>";
|
---|
| 48 | }
|
---|
| 49 |
|
---|
| 50 |
|
---|
| 51 | //____________________________________________________________________________//
|
---|
| 52 |
|
---|
| 53 | void
|
---|
| 54 | xml_report_formatter::test_unit_report_start( test_unit const& tu, std::ostream& ostr )
|
---|
| 55 | {
|
---|
| 56 | test_results const& tr = results_collector.results( tu.p_id );
|
---|
| 57 |
|
---|
| 58 | const_string descr;
|
---|
| 59 |
|
---|
| 60 | if( tr.passed() )
|
---|
| 61 | descr = "passed";
|
---|
| 62 | else if( tr.p_skipped )
|
---|
| 63 | descr = "skipped";
|
---|
| 64 | else if( tr.p_aborted )
|
---|
| 65 | descr = "aborted";
|
---|
| 66 | else
|
---|
| 67 | descr = "failed";
|
---|
| 68 |
|
---|
| 69 | ostr << '<' << ( tu.p_type == tut_case ? "TestCase" : "TestSuite" )
|
---|
| 70 | << " name" << attr_value() << tu.p_name.get()
|
---|
| 71 | << " result" << attr_value() << descr
|
---|
| 72 | << " assertions_passed" << attr_value() << tr.p_assertions_passed
|
---|
| 73 | << " assertions_failed" << attr_value() << tr.p_assertions_failed
|
---|
| 74 | << " expected_failures" << attr_value() << tr.p_expected_failures;
|
---|
| 75 |
|
---|
| 76 | if( tu.p_type == tut_suite )
|
---|
| 77 | ostr << " test_cases_passed" << attr_value() << tr.p_test_cases_passed
|
---|
| 78 | << " test_cases_failed" << attr_value() << tr.p_test_cases_failed
|
---|
| 79 | << " test_cases_skipped" << attr_value() << tr.p_test_cases_skipped;
|
---|
| 80 |
|
---|
| 81 |
|
---|
| 82 | ostr << '>';
|
---|
| 83 | }
|
---|
| 84 |
|
---|
| 85 | //____________________________________________________________________________//
|
---|
| 86 |
|
---|
| 87 | void
|
---|
| 88 | xml_report_formatter::test_unit_report_finish( test_unit const& tu, std::ostream& ostr )
|
---|
| 89 | {
|
---|
| 90 | ostr << "</" << ( tu.p_type == tut_case ? "TestCase" : "TestSuite" ) << '>';
|
---|
| 91 | }
|
---|
| 92 |
|
---|
| 93 | //____________________________________________________________________________//
|
---|
| 94 |
|
---|
| 95 | void
|
---|
| 96 | xml_report_formatter::do_confirmation_report( test_unit const& tu, std::ostream& ostr )
|
---|
| 97 | {
|
---|
| 98 | test_unit_report_start( tu, ostr );
|
---|
| 99 | test_unit_report_finish( tu, ostr );
|
---|
| 100 | }
|
---|
| 101 |
|
---|
| 102 | //____________________________________________________________________________//
|
---|
| 103 |
|
---|
| 104 | } // namespace output
|
---|
| 105 |
|
---|
| 106 | } // namespace unit_test
|
---|
| 107 |
|
---|
| 108 | } // namespace boost
|
---|
| 109 |
|
---|
| 110 | //____________________________________________________________________________//
|
---|
| 111 |
|
---|
| 112 | #include <boost/test/detail/enable_warnings.hpp>
|
---|
| 113 |
|
---|
| 114 | // ***************************************************************************
|
---|
| 115 | // Revision History :
|
---|
| 116 | //
|
---|
| 117 | // $Log: xml_report_formatter.ipp,v $
|
---|
| 118 | // Revision 1.2 2005/04/29 06:30:07 rogeeff
|
---|
| 119 | // bug fix for incorect XML output
|
---|
| 120 | //
|
---|
| 121 | // Revision 1.1 2005/02/20 08:27:07 rogeeff
|
---|
| 122 | // This a major update for Boost.Test framework. See release docs for complete list of fixes/updates
|
---|
| 123 | //
|
---|
| 124 | // ***************************************************************************
|
---|
| 125 |
|
---|
| 126 | #endif // BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
|
---|