boost/test/unit_test_log_formatter.hpp
// (C) Copyright Gennadiy Rozental 2003. // 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: unit_test_log_formatter.hpp,v $ // // Version : $Revision: 1.7 $ // // Description : // *************************************************************************** #ifndef BOOST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER #define BOOST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER // Boost.Test #include <boost/test/detail/unit_test_config.hpp> #include <boost/test/unit_test_log.hpp> // BOOST // STL #include <iosfwd> #include <string> // need only forward decl #include <boost/test/detail/suppress_warnings.hpp> namespace boost { namespace unit_test { // ************************************************************************** // // ************** unit_test_log_formatter ************** // // ************************************************************************** // class unit_test_log_formatter { public: enum log_entry_types { BOOST_UTL_ET_INFO, BOOST_UTL_ET_MESSAGE, BOOST_UTL_ET_WARNING, BOOST_UTL_ET_ERROR, BOOST_UTL_ET_FATAL_ERROR }; // Constructor explicit unit_test_log_formatter( unit_test_log const& log ) : m_log( log ) {} // Destructor virtual ~unit_test_log_formatter() {} // Formatter interface virtual void start_log( std::ostream& output, bool log_build_info ) = 0; virtual void log_header( std::ostream& output, unit_test_counter test_cases_amount ) = 0; virtual void finish_log( std::ostream& output ) = 0; virtual void track_test_case_scope( std::ostream& output, test_case const& tc, bool in_out ) = 0; virtual void log_exception( std::ostream& output, const_string test_case_name, const_string explanation ) = 0; virtual void begin_log_entry( std::ostream& output, log_entry_types let ) = 0; virtual void log_entry_value( std::ostream& output, const_string value ) = 0; virtual void end_log_entry( std::ostream& output ) = 0; protected: // Implementation interface log_entry_data const& entry_data() const { return m_log.entry_data(); } log_checkpoint_data const& checkpoint_data() const { return m_log.checkpoint_data(); } private: // Data members unit_test_log const& m_log; }; } // namespace unit_test } // namespace boost #include <boost/test/detail/enable_warnings.hpp> // *************************************************************************** // Revision History : // // $Log: unit_test_log_formatter.hpp,v $ // Revision 1.7 2004/07/19 12:16:23 rogeeff // guard rename // warning suppressed // // Revision 1.6 2004/05/21 06:19:35 rogeeff // licence update // // Revision 1.5 2004/05/11 11:00:51 rogeeff // basic_cstring introduced and used everywhere // class properties reworked // // Revision 1.4 2003/12/01 00:41:56 rogeeff // prerelease cleaning // // *************************************************************************** #endif // BOOST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER