| 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 : toolbox implementation types and forward declarations |
| 13 | // *************************************************************************** |
| 14 | |
| 15 | #ifndef BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER |
| 16 | #define BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER |
| 17 | |
| 18 | // Boost.Test |
| 19 | #include <boost/test/detail/config.hpp> |
| 20 | #include <boost/test/utils/basic_cstring/io.hpp> |
| 21 | |
| 22 | // STL |
| 23 | #include <cstddef> // for std::size_t |
| 24 | |
| 25 | #include <boost/test/detail/suppress_warnings.hpp> |
| 26 | |
| 27 | //____________________________________________________________________________// |
| 28 | |
| 29 | namespace boost { |
| 30 | namespace unit_test { |
| 31 | |
| 32 | class lazy_ostream; |
| 33 | |
| 34 | } // namespace unit_test |
| 35 | |
| 36 | namespace test_tools { |
| 37 | |
| 38 | using unit_test::const_string; |
| 39 | class assertion_result; |
| 40 | |
| 41 | //____________________________________________________________________________// |
| 42 | |
| 43 | namespace tt_detail { |
| 44 | |
| 45 | inline bool dummy_cond() { return false; } |
| 46 | |
| 47 | // ************************************************************************** // |
| 48 | // ************** types of supported assertions ************** // |
| 49 | // ************************************************************************** // |
| 50 | |
| 51 | //____________________________________________________________________________// |
| 52 | |
| 53 | enum check_type { |
| 54 | CHECK_PRED, |
| 55 | CHECK_MSG, |
| 56 | CHECK_EQUAL, |
| 57 | CHECK_NE, |
| 58 | CHECK_LT, |
| 59 | CHECK_LE, |
| 60 | CHECK_GT, |
| 61 | CHECK_GE, |
| 62 | CHECK_CLOSE, |
| 63 | CHECK_CLOSE_FRACTION, |
| 64 | CHECK_SMALL, |
| 65 | CHECK_BITWISE_EQUAL, |
| 66 | CHECK_PRED_WITH_ARGS, |
| 67 | CHECK_EQUAL_COLL, |
| 68 | CHECK_BUILT_ASSERTION |
| 69 | }; |
| 70 | |
| 71 | //____________________________________________________________________________// |
| 72 | |
| 73 | // ************************************************************************** // |
| 74 | // ************** levels of supported assertions ************** // |
| 75 | // ************************************************************************** // |
| 76 | |
| 77 | enum tool_level { |
| 78 | WARN, CHECK, REQUIRE, PASS |
| 79 | }; |
| 80 | |
| 81 | //____________________________________________________________________________// |
| 82 | |
| 83 | // ************************************************************************** // |
| 84 | // ************** Tools offline implementation ************** // |
| 85 | // ************************************************************************** // |
| 86 | |
| 87 | BOOST_TEST_DECL bool |
| 88 | report_assertion( assertion_result const& pr, unit_test::lazy_ostream const& assertion_descr, |
| 89 | const_string file_name, std::size_t line_num, |
| 90 | tool_level tl, check_type ct, |
| 91 | std::size_t num_args, ... ); |
| 92 | |
| 93 | //____________________________________________________________________________// |
| 94 | |
| 95 | BOOST_TEST_DECL assertion_result |
| 96 | format_assertion_result( const_string expr_val, const_string details ); |
| 97 | |
| 98 | //____________________________________________________________________________// |
| 99 | |
| 100 | BOOST_TEST_DECL assertion_result |
| 101 | format_fpc_report( const_string expr_val, const_string details ); |
| 102 | |
| 103 | //____________________________________________________________________________// |
| 104 | |
| 105 | BOOST_TEST_DECL bool |
| 106 | is_defined_impl( const_string symbol_name, const_string symbol_value ); |
| 107 | |
| 108 | //____________________________________________________________________________// |
| 109 | |
| 110 | BOOST_TEST_DECL assertion_result |
| 111 | equal_impl( char const* left, char const* right ); |
| 112 | |
| 113 | //____________________________________________________________________________// |
| 114 | |
| 115 | } // namespace tt_detail |
| 116 | } // namespace test_tools |
| 117 | } // namespace boost |
| 118 | |
| 119 | #include <boost/test/detail/enable_warnings.hpp> |
| 120 | |
| 121 | #endif // BOOST_TEST_TOOLS_DETAIL_FWD_HPP_012705GER |
| 122 | |