From 2866f8060aaac60dd6d30f4578d25ef5ab5be423 Mon Sep 17 00:00:00 2001 From: nesser <nesser@mpifr-bonn.mpg.de> Date: Fri, 6 Dec 2024 09:46:48 +0000 Subject: [PATCH] Use valid logging backend instead -> prevent segmentation fault of following tests --- psrdada_cpp/test/src/core_tests.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/psrdada_cpp/test/src/core_tests.cpp b/psrdada_cpp/test/src/core_tests.cpp index 223aeecb..4c5437f0 100644 --- a/psrdada_cpp/test/src/core_tests.cpp +++ b/psrdada_cpp/test/src/core_tests.cpp @@ -12,16 +12,27 @@ namespace test { TEST(SetLogLevel, UPPER) { -// setting log elvel with mixed upper / lower caps should work std::stringstream ss; - boost::shared_ptr<sink_t> streamSink = boost::log::add_console_log(ss); + + // Set up a logging sink with the stringstream as the target + auto backend = boost::make_shared<boost::log::sinks::text_ostream_backend>(); + backend->add_stream(boost::shared_ptr<std::ostream>(&ss, boost::null_deleter())); + backend->auto_flush(true); + + auto sink = boost::make_shared<sink_t>(backend); + boost::log::core::get()->add_sink(sink); + + // Set log level set_log_level("INfO"); BOOST_LOG_TRIVIAL(debug) << "Should not be in log"; - EXPECT_EQ(ss.rdbuf()->in_avail(), 0); + EXPECT_EQ(ss.str().size(), 0); // No debug messages BOOST_LOG_TRIVIAL(info) << "Should be in log"; - EXPECT_GT(ss.rdbuf()->in_avail(), 0); + EXPECT_GT(ss.str().size(), 0); // Info messages appear in the log + + // Remove the sink to clean up + boost::log::core::get()->remove_sink(sink); } TEST(SetLogLevel, ThrowOnUnknownLevel) -- GitLab