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