mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-08-27 10:55:02 +02:00
test: don't leak log category mask across tests
This ensures log tests behave consistently when other tests modify the log category mask.
This commit is contained in:
committed by
Eugene Siegel
parent
05d7c22479
commit
350193e5e2
@@ -57,6 +57,7 @@ struct LogSetup : public BasicTestingSetup {
|
|||||||
bool prev_log_sourcelocations;
|
bool prev_log_sourcelocations;
|
||||||
std::unordered_map<BCLog::LogFlags, BCLog::Level> prev_category_levels;
|
std::unordered_map<BCLog::LogFlags, BCLog::Level> prev_category_levels;
|
||||||
BCLog::Level prev_log_level;
|
BCLog::Level prev_log_level;
|
||||||
|
BCLog::CategoryMask prev_category_mask;
|
||||||
|
|
||||||
LogSetup() : prev_log_path{LogInstance().m_file_path},
|
LogSetup() : prev_log_path{LogInstance().m_file_path},
|
||||||
tmp_log_path{m_args.GetDataDirBase() / "tmp_debug.log"},
|
tmp_log_path{m_args.GetDataDirBase() / "tmp_debug.log"},
|
||||||
@@ -66,7 +67,8 @@ struct LogSetup : public BasicTestingSetup {
|
|||||||
prev_log_threadnames{LogInstance().m_log_threadnames},
|
prev_log_threadnames{LogInstance().m_log_threadnames},
|
||||||
prev_log_sourcelocations{LogInstance().m_log_sourcelocations},
|
prev_log_sourcelocations{LogInstance().m_log_sourcelocations},
|
||||||
prev_category_levels{LogInstance().CategoryLevels()},
|
prev_category_levels{LogInstance().CategoryLevels()},
|
||||||
prev_log_level{LogInstance().LogLevel()}
|
prev_log_level{LogInstance().LogLevel()},
|
||||||
|
prev_category_mask{LogInstance().GetCategoryMask()}
|
||||||
{
|
{
|
||||||
LogInstance().m_file_path = tmp_log_path;
|
LogInstance().m_file_path = tmp_log_path;
|
||||||
LogInstance().m_reopen_file = true;
|
LogInstance().m_reopen_file = true;
|
||||||
@@ -78,6 +80,7 @@ struct LogSetup : public BasicTestingSetup {
|
|||||||
LogInstance().m_log_sourcelocations = false;
|
LogInstance().m_log_sourcelocations = false;
|
||||||
|
|
||||||
LogInstance().SetLogLevel(BCLog::Level::Debug);
|
LogInstance().SetLogLevel(BCLog::Level::Debug);
|
||||||
|
LogInstance().DisableCategory(BCLog::LogFlags::ALL);
|
||||||
LogInstance().SetCategoryLogLevel({});
|
LogInstance().SetCategoryLogLevel({});
|
||||||
LogInstance().SetRateLimiting(nullptr);
|
LogInstance().SetRateLimiting(nullptr);
|
||||||
}
|
}
|
||||||
@@ -94,6 +97,8 @@ struct LogSetup : public BasicTestingSetup {
|
|||||||
LogInstance().SetLogLevel(prev_log_level);
|
LogInstance().SetLogLevel(prev_log_level);
|
||||||
LogInstance().SetCategoryLogLevel(prev_category_levels);
|
LogInstance().SetCategoryLogLevel(prev_category_levels);
|
||||||
LogInstance().SetRateLimiting(nullptr);
|
LogInstance().SetRateLimiting(nullptr);
|
||||||
|
LogInstance().DisableCategory(BCLog::LogFlags::ALL);
|
||||||
|
LogInstance().EnableCategory(BCLog::LogFlags{prev_category_mask});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -136,6 +141,7 @@ BOOST_FIXTURE_TEST_CASE(logging_LogPrintStr, LogSetup)
|
|||||||
|
|
||||||
BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacrosDeprecated, LogSetup)
|
BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacrosDeprecated, LogSetup)
|
||||||
{
|
{
|
||||||
|
LogInstance().EnableCategory(BCLog::NET);
|
||||||
LogPrintf("foo5: %s\n", "bar5");
|
LogPrintf("foo5: %s\n", "bar5");
|
||||||
LogPrintLevel(BCLog::NET, BCLog::Level::Trace, "foo4: %s\n", "bar4"); // not logged
|
LogPrintLevel(BCLog::NET, BCLog::Level::Trace, "foo4: %s\n", "bar4"); // not logged
|
||||||
LogPrintLevel(BCLog::NET, BCLog::Level::Debug, "foo7: %s\n", "bar7");
|
LogPrintLevel(BCLog::NET, BCLog::Level::Debug, "foo7: %s\n", "bar7");
|
||||||
@@ -155,6 +161,7 @@ BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacrosDeprecated, LogSetup)
|
|||||||
|
|
||||||
BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros, LogSetup)
|
BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros, LogSetup)
|
||||||
{
|
{
|
||||||
|
LogInstance().EnableCategory(BCLog::NET);
|
||||||
LogTrace(BCLog::NET, "foo6: %s", "bar6"); // not logged
|
LogTrace(BCLog::NET, "foo6: %s", "bar6"); // not logged
|
||||||
LogDebug(BCLog::NET, "foo7: %s", "bar7");
|
LogDebug(BCLog::NET, "foo7: %s", "bar7");
|
||||||
LogInfo("foo8: %s", "bar8");
|
LogInfo("foo8: %s", "bar8");
|
||||||
@@ -199,8 +206,6 @@ BOOST_FIXTURE_TEST_CASE(logging_LogPrintMacros_CategoryName, LogSetup)
|
|||||||
BOOST_FIXTURE_TEST_CASE(logging_SeverityLevels, LogSetup)
|
BOOST_FIXTURE_TEST_CASE(logging_SeverityLevels, LogSetup)
|
||||||
{
|
{
|
||||||
LogInstance().EnableCategory(BCLog::LogFlags::ALL);
|
LogInstance().EnableCategory(BCLog::LogFlags::ALL);
|
||||||
|
|
||||||
LogInstance().SetLogLevel(BCLog::Level::Debug);
|
|
||||||
LogInstance().SetCategoryLogLevel(/*category_str=*/"net", /*level_str=*/"info");
|
LogInstance().SetCategoryLogLevel(/*category_str=*/"net", /*level_str=*/"info");
|
||||||
|
|
||||||
// Global log level
|
// Global log level
|
||||||
|
Reference in New Issue
Block a user