Make ScopeTracker thread safe via TLS (thread local storage)
[libi2ncommon] / test / test_logging.cpp
index 8708fb6..cf2dc3d 100644 (file)
@@ -124,4 +124,24 @@ BOOST_AUTO_TEST_CASE(TestScopeTrace1)
     }
 } // eo TestScopeTrace1()
 
+void recursive_function(int level=0)
+{
+    SCOPETRACKER();
+
+    if (level < 10)
+        recursive_function(++level);
+}
+
+BOOST_AUTO_TEST_CASE(TestRecursiveScopeTracker)
+{
+    Logger::enable_syslog( Logger::Facility::User );
+    Logger::PartLogger log(__func__);
+
+    Logger::set_log_level( 7 );
+    Logger::enable_stderr_log();
+    Logger::enable_log_file("zzUnitTest.log");
+
+    recursive_function();
+}
+
 BOOST_AUTO_TEST_SUITE_END()