From f0ae3e2f2e9fe1fc04a6678da72746ae251e3471 Mon Sep 17 00:00:00 2001 From: vuule Date: Mon, 6 Feb 2023 16:20:24 -0800 Subject: [PATCH] fixture --- cpp/tests/utilities_tests/logger_tests.cpp | 55 ++++++++++------------ 1 file changed, 25 insertions(+), 30 deletions(-) diff --git a/cpp/tests/utilities_tests/logger_tests.cpp b/cpp/tests/utilities_tests/logger_tests.cpp index e17d6289430..9a4dcb450ec 100644 --- a/cpp/tests/utilities_tests/logger_tests.cpp +++ b/cpp/tests/utilities_tests/logger_tests.cpp @@ -21,61 +21,56 @@ #include -struct LoggerTest : public cudf::test::BaseFixture { -}; - -namespace { - -std::ostringstream sink_ss() -{ +class LoggerTest : public cudf::test::BaseFixture { std::ostringstream oss; - cudf::logger().sinks() = {std::make_shared(oss)}; - cudf::logger().set_formatter( - std::unique_ptr(new spdlog::pattern_formatter("%v"))); - return oss; -} - -} // namespace + spdlog::level::level_enum prev_level; + std::vector prev_sinks; + + public: + LoggerTest() : prev_level{cudf::logger().level()}, prev_sinks{cudf::logger().sinks()} + { + cudf::logger().sinks() = {std::make_shared(oss)}; + cudf::logger().set_formatter( + std::unique_ptr(new spdlog::pattern_formatter("%v"))); + } + ~LoggerTest() + { + cudf::logger().set_level(prev_level); + cudf::logger().sinks() = prev_sinks; + } + + void clear_sink() { oss.str(""); } + std::string sink_content() { return oss.str(); } +}; TEST_F(LoggerTest, Basic) { - auto ss = sink_ss(); cudf::logger().critical("crit msg"); - ASSERT_EQ(ss.str(), "crit msg\n"); + ASSERT_EQ(this->sink_content(), "crit msg\n"); } TEST_F(LoggerTest, DefaultLevel) { - auto ss = sink_ss(); - cudf::logger().trace("trace"); cudf::logger().debug("debug"); cudf::logger().info("info"); cudf::logger().warn("warn"); cudf::logger().error("error"); cudf::logger().critical("critical"); - ASSERT_EQ(ss.str(), "info\nwarn\nerror\ncritical\n"); + ASSERT_EQ(this->sink_content(), "info\nwarn\nerror\ncritical\n"); } TEST_F(LoggerTest, CustomLevel) { - auto ss = sink_ss(); - - auto lvl = cudf::logger().level(); - cudf::logger().set_level(spdlog::level::warn); cudf::logger().info("info"); cudf::logger().warn("warn"); - ASSERT_EQ(ss.str(), "warn\n"); + ASSERT_EQ(this->sink_content(), "warn\n"); - // clear sink - ss.str(std::string()); + this->clear_sink(); cudf::logger().set_level(spdlog::level::debug); cudf::logger().trace("trace"); cudf::logger().debug("debug"); - ASSERT_EQ(ss.str(), "debug\n"); - - // revert to default level - cudf::logger().set_level(lvl); + ASSERT_EQ(this->sink_content(), "debug\n"); }