]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/test/test/framework-ts/log-formatter-test.cpp
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / boost / libs / test / test / framework-ts / log-formatter-test.cpp
index 9566cec88762fad190049cbf3db4818a252f72aa..59051568d14778b0715b833a56d39986461f0cca 100644 (file)
@@ -31,7 +31,7 @@ typedef boost::onullstream onullstream_type;
 
 using boost::test_tools::output_test_stream;
 using namespace boost::unit_test;
-namespace utf = boost::unit_test;
+
 
 
 //____________________________________________________________________________//
@@ -74,6 +74,7 @@ void very_bad_exception()  {
     throw local_exception();
 }
 
+void bad_foo2() { bad_foo(); } // tests with clashing names
 
 //____________________________________________________________________________//
 
@@ -123,7 +124,7 @@ struct guard {
 //____________________________________________________________________________//
 
 
-BOOST_AUTO_TEST_CASE( test_result_reports )
+BOOST_AUTO_TEST_CASE( test_logs )
 {
     guard G;
     ut_detail::ignore_unused_variable_warning( G );
@@ -131,7 +132,7 @@ BOOST_AUTO_TEST_CASE( test_result_reports )
 #define PATTERN_FILE_NAME "log-formatter-test.pattern"
 
     std::string pattern_file_name(
-        framework::master_test_suite().argc == 1
+        framework::master_test_suite().argc <= 1
             ? (runtime_config::save_pattern() ? PATTERN_FILE_NAME : "./baseline-outputs/" PATTERN_FILE_NAME )
             : framework::master_test_suite().argv[1] );
 
@@ -160,7 +161,7 @@ BOOST_AUTO_TEST_CASE( test_result_reports )
         ts_3->add( BOOST_TEST_CASE( bad_foo ) );
         test_case* tc1 = BOOST_TEST_CASE( very_bad_foo );
         ts_3->add( tc1 );
-        test_case* tc2 = BOOST_TEST_CASE( bad_foo );
+        test_case* tc2 = BOOST_TEST_CASE( bad_foo2 );
         ts_3->add( tc2 );
         tc2->depends_on( tc1 );
 
@@ -168,7 +169,7 @@ BOOST_AUTO_TEST_CASE( test_result_reports )
         ts_4->add( BOOST_TEST_CASE( bad_foo ) );
         ts_4->add( BOOST_TEST_CASE( very_bad_foo ) );
         ts_4->add( BOOST_TEST_CASE( very_bad_exception ) );
-        ts_4->add( BOOST_TEST_CASE( bad_foo ) );
+        ts_4->add( BOOST_TEST_CASE( bad_foo2 ) );
 
     test_suite* ts_main = BOOST_TEST_SUITE( "Fake Test Suite Hierarchy" );
         ts_main->add( ts_0 );
@@ -197,4 +198,34 @@ BOOST_AUTO_TEST_CASE( test_result_reports )
 
 //____________________________________________________________________________//
 
+BOOST_AUTO_TEST_CASE( test_logs_junit_info_closing_tags )
+{
+    guard G;
+    ut_detail::ignore_unused_variable_warning( G );
+
+#define PATTERN_FILE_NAME_JUNIT "log-formatter-test.pattern.junit"
+
+    std::string pattern_file_name(
+        framework::master_test_suite().argc <= 2
+            ? (runtime_config::save_pattern() ? PATTERN_FILE_NAME_JUNIT : "./baseline-outputs/" PATTERN_FILE_NAME_JUNIT )
+            : framework::master_test_suite().argv[2] );
+
+    output_test_stream_for_loggers test_output( pattern_file_name,
+                                                !runtime_config::save_pattern(),
+                                                true,
+                                                __FILE__ );
+
+#line 218
+    test_suite* ts_main = BOOST_TEST_SUITE( "1 test cases inside" );
+    ts_main->add( BOOST_TEST_CASE( almost_good_foo ) );
+
+    ts_main->p_default_status.value = test_unit::RS_ENABLED;
+    char const* argv[] = { "a.exe", "--run_test=*", "--build_info" };
+    int argc = sizeof(argv)/sizeof(argv[0]);
+    boost::unit_test::runtime_config::init( argc, (char**)argv );
+    boost::unit_test::framework::impl::setup_for_execution( *ts_main );
+
+    check( test_output, OF_JUNIT, ts_main->p_id, log_successful_tests );
+}
+
 // EOF