Add LOG macro to prevent unnecessary evaluations (#823)

Fixes #824
This commit is contained in:
Alex Kremer
2023-08-15 14:36:11 +01:00
committed by GitHub
parent 547cb340bd
commit ec70127050
44 changed files with 418 additions and 374 deletions

View File

@@ -57,6 +57,23 @@ TEST_F(LoggerTest, Filtering)
checkEqual("Trace:TRC Trace line logged for 'Trace' component");
}
TEST_F(LoggerTest, LOGMacro)
{
Logger log{"General"};
auto computeCalled = false;
auto compute = [&computeCalled]() {
computeCalled = true;
return "computed";
};
LOG(log.trace()) << compute();
EXPECT_FALSE(computeCalled);
log.trace() << compute();
EXPECT_TRUE(computeCalled);
}
TEST_F(NoLoggerTest, Basic)
{
Logger log{"Trace"};