1 // (C) Copyright Gennadiy Rozental 2001-2008.
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)
6 // See http://www.boost.org/libs/test for the library home page.
10 // Version : $Revision$
12 // Description : defines class unit_test_result that is responsible for
13 // gathering test results and presenting this information to end-user
14 // ***************************************************************************
16 #ifndef BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
17 #define BOOST_TEST_RESULTS_REPORTER_HPP_021205GER
20 #include <boost/test/detail/global_typedef.hpp>
21 #include <boost/test/detail/fwd_decl.hpp>
24 #include <iosfwd> // for std::ostream&
26 #include <boost/test/detail/suppress_warnings.hpp>
28 //____________________________________________________________________________//
34 namespace results_reporter
{
36 // ************************************************************************** //
37 // ************** formatter interface ************** //
38 // ************************************************************************** //
40 class BOOST_TEST_DECL format
{
45 virtual void results_report_start( std::ostream
& ostr
) = 0;
46 virtual void results_report_finish( std::ostream
& ostr
) = 0;
48 virtual void test_unit_report_start( test_unit
const&, std::ostream
& ostr
) = 0;
49 virtual void test_unit_report_finish( test_unit
const&, std::ostream
& ostr
) = 0;
51 virtual void do_confirmation_report( test_unit
const&, std::ostream
& ostr
) = 0;
54 // ************************************************************************** //
55 // ************** report configuration ************** //
56 // ************************************************************************** //
58 BOOST_TEST_DECL
void set_level( report_level
);
59 BOOST_TEST_DECL
void set_stream( std::ostream
& );
60 BOOST_TEST_DECL
void set_format( output_format
);
61 BOOST_TEST_DECL
void set_format( results_reporter::format
* );
63 BOOST_TEST_DECL
std::ostream
& get_stream();
65 // ************************************************************************** //
66 // ************** report initiation ************** //
67 // ************************************************************************** //
69 BOOST_TEST_DECL
void make_report( report_level l
= INV_REPORT_LEVEL
, test_unit_id
= INV_TEST_UNIT_ID
);
70 inline void confirmation_report( test_unit_id id
= INV_TEST_UNIT_ID
)
71 { make_report( CONFIRMATION_REPORT
, id
); }
72 inline void short_report( test_unit_id id
= INV_TEST_UNIT_ID
)
73 { make_report( SHORT_REPORT
, id
); }
74 inline void detailed_report( test_unit_id id
= INV_TEST_UNIT_ID
)
75 { make_report( DETAILED_REPORT
, id
); }
77 } // namespace results_reporter
79 } // namespace unit_test
83 //____________________________________________________________________________//
85 #include <boost/test/detail/enable_warnings.hpp>
87 #endif // BOOST_TEST_RESULTS_REPORTER_HPP_021205GER