annotate DEPENDENCIES/generic/include/boost/test/unit_test_log_formatter.hpp @ 125:34e428693f5d vext

Vext -> Repoint
author Chris Cannam
date Thu, 14 Jun 2018 11:15:39 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 // (C) Copyright Gennadiy Rozental 2003-2008.
Chris@16 2 // Distributed under the Boost Software License, Version 1.0.
Chris@16 3 // (See accompanying file LICENSE_1_0.txt or copy at
Chris@16 4 // http://www.boost.org/LICENSE_1_0.txt)
Chris@16 5
Chris@16 6 // See http://www.boost.org/libs/test for the library home page.
Chris@16 7 //
Chris@16 8 // File : $RCSfile$
Chris@16 9 //
Chris@101 10 // Version : $Revision$
Chris@16 11 //
Chris@16 12 // Description :
Chris@16 13 // ***************************************************************************
Chris@16 14
Chris@16 15 #ifndef BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
Chris@16 16 #define BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
Chris@16 17
Chris@16 18 // Boost.Test
Chris@16 19 #include <boost/test/detail/global_typedef.hpp>
Chris@16 20 #include <boost/test/detail/log_level.hpp>
Chris@16 21 #include <boost/test/detail/fwd_decl.hpp>
Chris@16 22
Chris@16 23 #include <boost/test/execution_monitor.hpp>
Chris@16 24
Chris@16 25 // STL
Chris@16 26 #include <iosfwd>
Chris@16 27 #include <string> // for std::string
Chris@16 28
Chris@16 29 #include <boost/test/detail/suppress_warnings.hpp>
Chris@16 30
Chris@16 31 //____________________________________________________________________________//
Chris@16 32
Chris@16 33 namespace boost {
Chris@16 34
Chris@16 35 namespace unit_test {
Chris@16 36
Chris@16 37 // ************************************************************************** //
Chris@16 38 // ************** log_entry_data ************** //
Chris@16 39 // ************************************************************************** //
Chris@16 40
Chris@16 41 struct BOOST_TEST_DECL log_entry_data {
Chris@16 42 log_entry_data()
Chris@16 43 {
Chris@16 44 m_file_name.reserve( 200 );
Chris@16 45 }
Chris@16 46
Chris@16 47 std::string m_file_name;
Chris@16 48 std::size_t m_line_num;
Chris@16 49 log_level m_level;
Chris@16 50
Chris@16 51 void clear()
Chris@16 52 {
Chris@16 53 m_file_name.erase();
Chris@16 54 m_line_num = 0;
Chris@16 55 m_level = log_nothing;
Chris@16 56 }
Chris@16 57 };
Chris@16 58
Chris@16 59 // ************************************************************************** //
Chris@16 60 // ************** checkpoint_data ************** //
Chris@16 61 // ************************************************************************** //
Chris@16 62
Chris@16 63 struct BOOST_TEST_DECL log_checkpoint_data
Chris@16 64 {
Chris@16 65 const_string m_file_name;
Chris@16 66 std::size_t m_line_num;
Chris@16 67 std::string m_message;
Chris@16 68
Chris@16 69 void clear()
Chris@16 70 {
Chris@16 71 m_file_name.clear();
Chris@16 72 m_line_num = 0;
Chris@16 73 m_message = std::string();
Chris@16 74 }
Chris@16 75 };
Chris@16 76
Chris@16 77 // ************************************************************************** //
Chris@16 78 // ************** unit_test_log_formatter ************** //
Chris@16 79 // ************************************************************************** //
Chris@16 80
Chris@16 81 class BOOST_TEST_DECL unit_test_log_formatter {
Chris@16 82 public:
Chris@16 83 enum log_entry_types { BOOST_UTL_ET_INFO,
Chris@16 84 BOOST_UTL_ET_MESSAGE,
Chris@16 85 BOOST_UTL_ET_WARNING,
Chris@16 86 BOOST_UTL_ET_ERROR,
Chris@16 87 BOOST_UTL_ET_FATAL_ERROR };
Chris@16 88
Chris@16 89 // Destructor
Chris@16 90 virtual ~unit_test_log_formatter() {}
Chris@16 91
Chris@16 92 // Formatter interface
Chris@16 93 virtual void log_start( std::ostream&, counter_t test_cases_amount ) = 0;
Chris@16 94 virtual void log_finish( std::ostream& ) = 0;
Chris@16 95 virtual void log_build_info( std::ostream& ) = 0;
Chris@16 96
Chris@16 97 virtual void test_unit_start( std::ostream&, test_unit const& tu ) = 0;
Chris@16 98 virtual void test_unit_finish( std::ostream&, test_unit const& tu, unsigned long elapsed ) = 0;
Chris@16 99 virtual void test_unit_skipped( std::ostream&, test_unit const& ) = 0;
Chris@16 100
Chris@16 101 virtual void log_exception( std::ostream& os, log_checkpoint_data const& cd, execution_exception const& ex )
Chris@16 102 {
Chris@16 103 // for backward compatibility
Chris@16 104 log_exception( os, cd, ex.what() );
Chris@16 105 }
Chris@16 106 virtual void log_exception( std::ostream&, log_checkpoint_data const&, const_string /* explanation */ ) {}
Chris@16 107
Chris@16 108 virtual void log_entry_start( std::ostream&, log_entry_data const&, log_entry_types let ) = 0;
Chris@16 109 virtual void log_entry_value( std::ostream&, const_string value ) = 0;
Chris@16 110 virtual void log_entry_value( std::ostream&, lazy_ostream const& value ); // there is a default impl
Chris@16 111 virtual void log_entry_finish( std::ostream& ) = 0;
Chris@16 112 };
Chris@16 113
Chris@16 114 } // namespace unit_test
Chris@16 115
Chris@16 116 } // namespace boost
Chris@16 117
Chris@16 118 //____________________________________________________________________________//
Chris@16 119
Chris@16 120 #include <boost/test/detail/enable_warnings.hpp>
Chris@16 121
Chris@16 122 #endif // BOOST_TEST_UNIT_TEST_LOG_FORMATTER_HPP_071894GER
Chris@16 123