Chris@16: // (C) Copyright Gennadiy Rozental 2001-2008. Chris@16: // Distributed under the Boost Software License, Version 1.0. Chris@16: // (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // See http://www.boost.org/libs/test for the library home page. Chris@16: // Chris@16: // File : $RCSfile$ Chris@16: // Chris@101: // Version : $Revision$ Chris@16: // Chris@16: // Description : defines class unit_test_result that is responsible for Chris@16: // gathering test results and presenting this information to end-user Chris@16: // *************************************************************************** Chris@16: Chris@16: #ifndef BOOST_TEST_RESULTS_REPORTER_HPP_021205GER Chris@16: #define BOOST_TEST_RESULTS_REPORTER_HPP_021205GER Chris@16: Chris@16: // Boost.Test Chris@16: #include Chris@16: #include Chris@16: Chris@16: // STL Chris@16: #include // for std::ostream& Chris@16: Chris@16: #include Chris@16: Chris@16: //____________________________________________________________________________// Chris@16: Chris@16: namespace boost { Chris@16: Chris@16: namespace unit_test { Chris@16: Chris@16: namespace results_reporter { Chris@16: Chris@16: // ************************************************************************** // Chris@16: // ************** formatter interface ************** // Chris@16: // ************************************************************************** // Chris@16: Chris@16: class BOOST_TEST_DECL format { Chris@16: public: Chris@16: // Destructor Chris@16: virtual ~format() {} Chris@16: Chris@16: virtual void results_report_start( std::ostream& ostr ) = 0; Chris@16: virtual void results_report_finish( std::ostream& ostr ) = 0; Chris@16: Chris@16: virtual void test_unit_report_start( test_unit const&, std::ostream& ostr ) = 0; Chris@16: virtual void test_unit_report_finish( test_unit const&, std::ostream& ostr ) = 0; Chris@16: Chris@16: virtual void do_confirmation_report( test_unit const&, std::ostream& ostr ) = 0; Chris@16: }; Chris@16: Chris@16: // ************************************************************************** // Chris@16: // ************** report configuration ************** // Chris@16: // ************************************************************************** // Chris@16: Chris@16: BOOST_TEST_DECL void set_level( report_level ); Chris@16: BOOST_TEST_DECL void set_stream( std::ostream& ); Chris@16: BOOST_TEST_DECL void set_format( output_format ); Chris@16: BOOST_TEST_DECL void set_format( results_reporter::format* ); Chris@16: Chris@16: BOOST_TEST_DECL std::ostream& get_stream(); Chris@16: Chris@16: // ************************************************************************** // Chris@16: // ************** report initiation ************** // Chris@16: // ************************************************************************** // Chris@16: Chris@16: BOOST_TEST_DECL void make_report( report_level l = INV_REPORT_LEVEL, test_unit_id = INV_TEST_UNIT_ID ); Chris@16: inline void confirmation_report( test_unit_id id = INV_TEST_UNIT_ID ) Chris@16: { make_report( CONFIRMATION_REPORT, id ); } Chris@16: inline void short_report( test_unit_id id = INV_TEST_UNIT_ID ) Chris@16: { make_report( SHORT_REPORT, id ); } Chris@16: inline void detailed_report( test_unit_id id = INV_TEST_UNIT_ID ) Chris@16: { make_report( DETAILED_REPORT, id ); } Chris@16: Chris@16: } // namespace results_reporter Chris@16: Chris@16: } // namespace unit_test Chris@16: Chris@16: } // namespace boost Chris@16: Chris@16: //____________________________________________________________________________// Chris@16: Chris@16: #include Chris@16: Chris@16: #endif // BOOST_TEST_RESULTS_REPORTER_HPP_021205GER Chris@16: