Line data Source code
1 : // (C) Copyright Gennadiy Rozental 2001. 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) 5 : 6 : // See http://www.boost.org/libs/test for the library home page. 7 : // 8 : /// @file 9 : /// @brief defines simple text based progress monitor 10 : // *************************************************************************** 11 : 12 : #ifndef BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER 13 : #define BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER 14 : 15 : // Boost.Test 16 : #include <boost/test/tree/observer.hpp> 17 : 18 : // STL 19 : #include <iosfwd> // for std::ostream& 20 : 21 : #include <boost/test/detail/suppress_warnings.hpp> 22 : 23 : //____________________________________________________________________________// 24 : 25 : namespace boost { 26 : namespace unit_test { 27 : 28 : // ************************************************************************** // 29 : // ************** progress_monitor ************** // 30 : // ************************************************************************** // 31 : 32 : /// This class implements test observer interface and updates test progress as test units finish or get aborted 33 : class BOOST_TEST_DECL progress_monitor_t : public test_observer { 34 : public: 35 : /// @name Test observer interface 36 : /// @{ 37 : void test_start( counter_t test_cases_amount, test_unit_id ) BOOST_OVERRIDE; 38 : void test_aborted() BOOST_OVERRIDE; 39 : 40 : void test_unit_finish( test_unit const&, unsigned long ) BOOST_OVERRIDE; 41 : void test_unit_skipped( test_unit const&, const_string ) BOOST_OVERRIDE; 42 : 43 0 : int priority() BOOST_OVERRIDE { return 4; } 44 : /// @} 45 : 46 : /// @name Configuration 47 : /// @{ 48 : void set_stream( std::ostream& ); 49 : /// @} 50 : 51 : /// Singleton pattern 52 0 : BOOST_TEST_SINGLETON_CONS( progress_monitor_t ) 53 : }; // progress_monitor_t 54 : 55 : BOOST_TEST_SINGLETON_INST( progress_monitor ) 56 : 57 : } // namespace unit_test 58 : } // namespace boost 59 : 60 : //____________________________________________________________________________// 61 : 62 : #include <boost/test/detail/enable_warnings.hpp> 63 : 64 : #endif // BOOST_TEST_PROGRESS_MONITOR_HPP_020105GER 65 :