/********************************************************************* * \file Log.cpp * * \author Romain BOULLARD * \date December 2022 *********************************************************************/ #include #include #include #if defined BIGFOOT_NOT_OPTIMIZED #include namespace Bigfoot { class LogFixture: public ::testing::Test { protected: void SetUp() override { UTILSTESTS_LOGGER = {"UTILSTESTS_LOGGER", Flat::LogLevel::Trace}; } static constexpr Flat::LogLevel QuillLogLevelToLogLevel(const quill::LogLevel p_level) { switch (p_level) { case quill::LogLevel::Debug: return Flat::LogLevel::Debug; case quill::LogLevel::TraceL3: return Flat::LogLevel::Trace; case quill::LogLevel::Info: return Flat::LogLevel::Info; case quill::LogLevel::Warning: return Flat::LogLevel::Warn; case quill::LogLevel::Error: return Flat::LogLevel::Error; case quill::LogLevel::Critical: return Flat::LogLevel::Critical; default: break; } return Flat::LogLevel::Trace; } Log m_log; }; /****************************************************************************************/ TEST_F(LogFixture, RegisterLogger_ShouldRegisterTheLogger) { const quill::Logger* logger = m_log.RegisterLogger(UTILSTESTS_LOGGER); EXPECT_TRUE(logger); EXPECT_EQ(logger, m_log.GetLogger(UTILSTESTS_LOGGER)); EXPECT_EQ(logger->get_logger_name(), UTILSTESTS_LOGGER.m_name); EXPECT_EQ(QuillLogLevelToLogLevel(logger->get_log_level()), UTILSTESTS_LOGGER.m_level); } /****************************************************************************************/ TEST_F(LogFixture, GetLogger_ShouldReturnNullptrIfTheLoggerDoesNotExist) { EXPECT_FALSE(m_log.GetLogger(UTILSTESTS_LOGGER)); } /****************************************************************************************/ TEST_F(LogFixture, GetLogger_ShouldReturnTheLoggerIfItExists) { [[maybe_unused]] const quill::Logger* logger = m_log.RegisterLogger(UTILSTESTS_LOGGER); EXPECT_TRUE(m_log.GetLogger(UTILSTESTS_LOGGER)); } /****************************************************************************************/ TEST_F(LogFixture, ChangeLoggerLogLevel_ShouldChangeTheLoggerLogLevel) { const quill::Logger* logger = m_log.RegisterLogger(UTILSTESTS_LOGGER); m_log.ChangeLoggerLogLevel(UTILSTESTS_LOGGER, Flat::LogLevel::Critical); EXPECT_EQ(QuillLogLevelToLogLevel(logger->get_log_level()), Flat::LogLevel::Critical); } /****************************************************************************************/ TEST_F(LogFixture, LogDebug) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_DEBUG(UTILSTESTS_LOGGER, "Hello"); } /****************************************************************************************/ TEST_F(LogFixture, LogTrace) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_TRACE(UTILSTESTS_LOGGER, "Hello"); } /****************************************************************************************/ TEST_F(LogFixture, LogInfo) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_INFO(UTILSTESTS_LOGGER, "Hello"); } /****************************************************************************************/ TEST_F(LogFixture, LogWarn) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_WARN(UTILSTESTS_LOGGER, "Hello"); } /****************************************************************************************/ TEST_F(LogFixture, LogError) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_ERROR(UTILSTESTS_LOGGER, "Hello"); } /****************************************************************************************/ TEST_F(LogFixture, LogFatal) { Singleton::Lifetime singletonLifetime; BIGFOOT_LOG_FATAL(UTILSTESTS_LOGGER, "Hello"); } } // namespace Bigfoot #endif