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
|