From: Yingxin Cheng Date: Mon, 27 Dec 2021 05:30:25 +0000 (+0800) Subject: test/crimson: leverage --default-log-level to configure the global log level X-Git-Tag: v17.1.0~120^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F44412%2Fhead;p=ceph.git test/crimson: leverage --default-log-level to configure the global log level So we can have freedom to customize global/individual log levels during manual tests. Signed-off-by: Yingxin Cheng --- diff --git a/src/test/crimson/gtest_seastar.cc b/src/test/crimson/gtest_seastar.cc index f7fd05ed3b166..abb1f88f2a065 100644 --- a/src/test/crimson/gtest_seastar.cc +++ b/src/test/crimson/gtest_seastar.cc @@ -15,25 +15,35 @@ SeastarRunner seastar_test_suite_t::seastar_env; int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); + // preprocess args + std::vector args; + bool global_log_level_is_set = false; + const char* prefix_log_level = "--default-log-level"; + for (int i = 0; i < argc; ++i) { + if (std::strncmp(argv[i], prefix_log_level, + std::strlen(prefix_log_level)) == 0) { + global_log_level_is_set = true; + } + args.push_back(argv[i]); + } + // HACK: differentiate between the `make check` bot and human user + // for the sake of log flooding + if (!global_log_level_is_set && !std::getenv("FOR_MAKE_CHECK")) { + std::cout << "WARNING: set default seastar log level to debug" << std::endl; + ++argc; + args.push_back("--default-log-level=debug"); + } + + auto app_argv = const_cast(args.data()); + auto app_argc = static_cast(args.size()); + ::testing::InitGoogleTest(&app_argc, app_argv); - int ret = seastar_test_suite_t::seastar_env.init(argc, argv); + int ret = seastar_test_suite_t::seastar_env.init(app_argc, app_argv); if (ret != 0) { seastar_test_suite_t::seastar_env.stop(); return ret; } - // HACK: differntiate between the `make check` bot and human user - // for the sake of log flooding - if (std::getenv("FOR_MAKE_CHECK")) { - std::cout << "WARNING: bumping log level skipped due to FOR_MAKE_CHECK!" - << std::endl; - } else { - seastar::global_logger_registry().set_all_loggers_level( - seastar::log_level::debug - ); - } - seastar_test_suite_t::seastar_env.run([] { return crimson::common::sharded_conf().start( EntityName{}, std::string_view{"ceph"}