00001
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #ifndef LOG4SENDPP_BOOST_LISTENER_H
00031 #define LOG4SENDPP_BOOST_LISTENER_H
00032
00033 #include <log4sendpp/log4sendpp.h>
00034
00035 #ifdef LOG4SENDPP_USE_BOOSTTEST
00036
00037 #include <log4sendpp/logger.h>
00038
00039 #include <boost/test/unit_test_log_formatter.hpp>
00040 #include <boost/test/results_reporter.hpp>
00041
00042
00043 LOG4SENDPP_NS_START
00044
00045
00048 class BoostListener : public boost::unit_test::unit_test_log_formatter
00049 {
00050 public:
00051
00054 virtual void log_start( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::counter_t test_cases_amount );
00055
00058 virtual void log_finish( LOG4SENDPP_STD_NS::ostream& );
00059
00062 virtual void log_build_info( LOG4SENDPP_STD_NS::ostream& );
00063
00066 virtual void test_unit_start( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::test_unit const& tu );
00067
00070 virtual void test_unit_finish( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::test_unit const& tu, unsigned long elapsed );
00071
00074 virtual void test_unit_skipped( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::test_unit const& );
00075
00078 virtual void log_exception( LOG4SENDPP_STD_NS::ostream&,
00079 boost::unit_test::log_checkpoint_data const&,
00080 boost::unit_test::const_string );
00081
00084 virtual void log_entry_start( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::log_entry_data const&,
00085 log_entry_types );
00086
00089 virtual void log_entry_value( LOG4SENDPP_STD_NS::ostream&, boost::unit_test::const_string value );
00090
00093 virtual void log_entry_finish( LOG4SENDPP_STD_NS::ostream& );
00094
00095 private:
00096
00097 Logger::Level entry_level;
00098 LOG4SENDPP_STD_NS::string entry_value;
00099 LOG4SENDPP_STD_NS::string entry_filename;
00100 unsigned entry_line;
00101 };
00102
00103
00104 class BoostReporter : public boost::unit_test::results_reporter::format
00105 {
00106 public:
00107
00110 void results_report_start( std::ostream& );
00111
00114 void results_report_finish( std::ostream& );
00115
00118 void test_unit_report_start( boost::unit_test::test_unit const&, std::ostream& );
00119
00122 void test_unit_report_finish( boost::unit_test::test_unit const&, std::ostream& );
00123
00126 void do_confirmation_report( boost::unit_test::test_unit const&, std::ostream& );
00127 };
00128
00129
00130 LOG4SENDPP_NS_END
00131
00132
00133 #endif // LOG4SENDPP_USE_Boost
00134
00135 #endif // LOG4SENDPP_BOOST_LISTENER_H
00136