xgboost/tests/cpp/common/test_monitor.cc
Jiaming Yuan ebc86a3afa
Disable parameter validation for Scikit-Learn interface. (#5167)
* Disable parameter validation for now.

Scikit-Learn passes all parameters down to XGBoost, whether they are used or
not.

* Add option `validate_parameters`.
2020-01-07 11:17:31 +08:00

36 lines
1012 B
C++

#include <gtest/gtest.h>
#include <xgboost/logging.h>
#include <string>
#include "../../../src/common/timer.h"
namespace xgboost {
namespace common {
TEST(Monitor, Logging) {
auto run_monitor =
[]() {
Monitor monitor_;
monitor_.Init("Monitor test");
monitor_.Start("basic");
monitor_.Stop("basic");
};
Args args = {std::make_pair("verbosity", "3")};
ConsoleLogger::Configure(args);
ASSERT_EQ(ConsoleLogger::GlobalVerbosity(), ConsoleLogger::LogVerbosity::kDebug);
testing::internal::CaptureStderr();
run_monitor();
std::string output = testing::internal::GetCapturedStderr();
ASSERT_NE(output.find("Monitor"), std::string::npos);
// Monitor only prints messages when set to DEBUG.
args = {std::make_pair("verbosity", "2")};
ConsoleLogger::Configure(args);
testing::internal::CaptureStderr();
run_monitor();
output = testing::internal::GetCapturedStderr();
ASSERT_EQ(output.size(), 0);
}
} // namespace common
} // namespace xgboost