20 #include <boost/test/results_collector.hpp>
21 #include <boost/test/utils/basic_cstring/io.hpp>
22 #include <boost/test/unit_test_log.hpp>
23 #include <boost/test/execution_monitor.hpp>
24 #include <boost/test/unit_test_log_formatter.hpp>
25 #include <boost/test/unit_test.hpp>
28 #include <boost/version.hpp>
29 #if BOOST_VERSION >= 105900
30 #define TUT_CASE_IDENTIFIER boost::unit_test::TUT_CASE
31 #define CURRENT_TEST_NAME boost::unit_test_framework::framework::current_test_case().full_name()
33 #define TUT_CASE_IDENTIFIER boost::unit_test::tut_case
34 #define CURRENT_TEST_NAME boost::unit_test_framework::framework::current_test_case().p_name
39 namespace jetbrains {
namespace teamcity {
56 virtual void log_start(std::ostream&, boost::unit_test::counter_t test_cases_amount);
58 #if BOOST_VERSION >= 107000
64 virtual void test_unit_start(std::ostream&, boost::unit_test::test_unit
const& tu);
66 boost::unit_test::test_unit
const& tu,
67 unsigned long elapsed);
68 virtual void test_unit_skipped(std::ostream&, boost::unit_test::test_unit
const& tu);
70 boost::unit_test::test_unit
const& tu,
71 boost::unit_test::const_string reason);
74 boost::unit_test::log_checkpoint_data
const&,
75 boost::unit_test::const_string explanation);
77 boost::unit_test::log_checkpoint_data
const&,
78 const boost::execution_exception&);
82 boost::unit_test::log_entry_data
const & entry_data,
91 #if BOOST_VERSION >= 106500
94 void log_entry_context(std::ostream& os, boost::unit_test::log_level, boost::unit_test::const_string
ctx) {
108 boost::unit_test::unit_test_log.set_threshold_level(boost::unit_test::log_test_units);
121 std::stringstream ss;
142 #if BOOST_VERSION >= 107000
166 boost::unit_test::test_results
const& tr = boost::unit_test::results_collector.results(tu.p_id);
171 }
else if (tr.p_aborted) {
195 out << what << std::endl;
210 out << entry_data.m_file_name <<
"(" << entry_data.m_line_num <<
"): ";
211 ss << entry_data.m_file_name <<
"(" << entry_data.m_line_num <<
"): ";
void testFailed(const std::string &name, const std::string &message, const std::string &details, const std::string &flowid=std::string())
void suiteStarted(const std::string &name, const std::string &flowid=std::string())
void testOutput(const std::string &name, const std::string &output, const std::string &flowid, bool isStdErr=StdOut)
void setOutput(std::ostream &)
void testFinished(const std::string &name, int durationMs=-1, const std::string &flowid=std::string())
void suiteFinished(const std::string &name, const std::string &flowid=std::string())
void testIgnored(const std::string &name, const std::string &message, const std::string &flowid=std::string())
void testStarted(const std::string &name, const std::string &flowid=std::string(), bool captureStandardOutput=false)
std::ofstream out("events_result.xml")
main entry point for tests
std::string getFlowIdFromEnvironment()
BOOST_GLOBAL_FIXTURE(TeamcityFormatterRegistrar)
static std::string toString(boost::unit_test::const_string bstr)
const std::string ASSERT_CTX
void TeamcityGlobalFixture()
const std::string FAILURE_CTX
#define CURRENT_TEST_NAME
#define TUT_CASE_IDENTIFIER