112 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			112 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| //  (C) Copyright Gennadiy Rozental 2001.
 | |
| //  Distributed under the Boost Software License, Version 1.0.
 | |
| //  (See accompanying file LICENSE_1_0.txt or copy at
 | |
| //  http://www.boost.org/LICENSE_1_0.txt)
 | |
| 
 | |
| //  See http://www.boost.org/libs/test for the library home page.
 | |
| //
 | |
| //  File        : $RCSfile$
 | |
| //
 | |
| //  Version     : $Revision$
 | |
| //
 | |
| //  Description : OF_XML report formatter
 | |
| // ***************************************************************************
 | |
| 
 | |
| #ifndef BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
 | |
| #define BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
 | |
| 
 | |
| // Boost.Test
 | |
| #include <boost/test/results_collector.hpp>
 | |
| #include <boost/test/output/xml_report_formatter.hpp>
 | |
| 
 | |
| #include <boost/test/tree/test_unit.hpp>
 | |
| #include <boost/test/utils/xml_printer.hpp>
 | |
| #include <boost/test/utils/basic_cstring/io.hpp>
 | |
| 
 | |
| #include <boost/test/detail/suppress_warnings.hpp>
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| namespace boost {
 | |
| namespace unit_test {
 | |
| namespace output {
 | |
| 
 | |
| void
 | |
| xml_report_formatter::results_report_start( std::ostream& ostr )
 | |
| {
 | |
|     ostr << "<TestResult>";
 | |
| }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| void
 | |
| xml_report_formatter::results_report_finish( std::ostream& ostr )
 | |
| {
 | |
|     ostr << "</TestResult>";
 | |
| }
 | |
| 
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| void
 | |
| xml_report_formatter::test_unit_report_start( test_unit const& tu, std::ostream& ostr )
 | |
| {
 | |
|     test_results const& tr = results_collector.results( tu.p_id );
 | |
| 
 | |
|     const_string descr;
 | |
| 
 | |
|     if( tr.passed() )
 | |
|         descr = "passed";
 | |
|     else if( tr.p_skipped )
 | |
|         descr = "skipped";
 | |
|     else if( tr.p_aborted )
 | |
|         descr = "aborted";
 | |
|     else
 | |
|         descr = "failed";
 | |
| 
 | |
|     ostr << '<' << ( tu.p_type == TUT_CASE ? "TestCase" : "TestSuite" )
 | |
|          << " name"                     << utils::attr_value() << tu.p_name.get()
 | |
|          << " result"                   << utils::attr_value() << descr
 | |
|          << " assertions_passed"        << utils::attr_value() << tr.p_assertions_passed
 | |
|          << " assertions_failed"        << utils::attr_value() << tr.p_assertions_failed
 | |
|          << " warnings_failed"          << utils::attr_value() << tr.p_warnings_failed
 | |
|          << " expected_failures"        << utils::attr_value() << tr.p_expected_failures;
 | |
| 
 | |
|     if( tu.p_type == TUT_SUITE ) {
 | |
|         ostr << " test_cases_passed"    << utils::attr_value() << tr.p_test_cases_passed
 | |
|              << " test_cases_passed_with_warnings" << utils::attr_value() << tr.p_test_cases_warned
 | |
|              << " test_cases_failed"    << utils::attr_value() << tr.p_test_cases_failed
 | |
|              << " test_cases_skipped"   << utils::attr_value() << tr.p_test_cases_skipped
 | |
|              << " test_cases_aborted"   << utils::attr_value() << tr.p_test_cases_aborted;
 | |
|     }
 | |
| 
 | |
|     ostr << '>';
 | |
| }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| void
 | |
| xml_report_formatter::test_unit_report_finish( test_unit const& tu, std::ostream& ostr )
 | |
| {
 | |
|     ostr << "</" << ( tu.p_type == TUT_CASE ? "TestCase" : "TestSuite" ) << '>';
 | |
| }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| void
 | |
| xml_report_formatter::do_confirmation_report( test_unit const& tu, std::ostream& ostr )
 | |
| {
 | |
|     test_unit_report_start( tu, ostr );
 | |
|     test_unit_report_finish( tu, ostr );
 | |
| }
 | |
| 
 | |
| //____________________________________________________________________________//
 | |
| 
 | |
| } // namespace output
 | |
| } // namespace unit_test
 | |
| } // namespace boost
 | |
| 
 | |
| #include <boost/test/detail/enable_warnings.hpp>
 | |
| 
 | |
| #endif // BOOST_TEST_XML_REPORT_FORMATTER_IPP_020105GER
 | 
