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 : $RCSfile$ 9 // 10 // Version : $Revision: 74248 $ 11 // 12 // Description : test tools context interfaces 13 // *************************************************************************** 14 15 #ifndef BOOST_TEST_TOOLS_CONTEXT_HPP_111712GER 16 #define BOOST_TEST_TOOLS_CONTEXT_HPP_111712GER 17 18 // Boost.Test 19 #include <boost/test/utils/lazy_ostream.hpp> 20 21 #include <boost/test/detail/suppress_warnings.hpp> 22 23 //____________________________________________________________________________// 24 25 namespace boost { 26 namespace test_tools { 27 namespace tt_detail { 28 29 // ************************************************************************** // 30 // ************** context_frame ************** // 31 // ************************************************************************** // 32 33 struct BOOST_TEST_DECL context_frame { 34 explicit context_frame( ::boost::unit_test::lazy_ostream const& context_descr ); 35 ~context_frame(); 36 37 operator bool(); 38 39 private: 40 // Data members 41 int m_frame_id; 42 }; 43 44 //____________________________________________________________________________// 45 46 #define BOOST_TEST_INFO( context_descr ) \ 47 ::boost::unit_test::framework::add_context( BOOST_TEST_LAZY_MSG( context_descr ) , false ) \ 48 /**/ 49 50 //____________________________________________________________________________// 51 52 #define BOOST_TEST_CONTEXT( context_descr ) \ 53 if( ::boost::test_tools::tt_detail::context_frame BOOST_JOIN( context_frame_, __LINE__ ) = \ 54 ::boost::test_tools::tt_detail::context_frame( BOOST_TEST_LAZY_MSG( context_descr ) ) ) \ 55 /**/ 56 57 //____________________________________________________________________________// 58 59 } // namespace tt_detail 60 } // namespace test_tools 61 } // namespace boost 62 63 #include <boost/test/detail/enable_warnings.hpp> 64 65 #endif // BOOST_TEST_TOOLS_CONTEXT_HPP_111712GER 66