Improve parameter validation (#6769)

* Add quotes to unused parameters.
* Check for whitespace.
This commit is contained in:
Jiaming Yuan
2021-03-20 01:56:55 +08:00
committed by GitHub
parent 23b4165a6b
commit f6fe15d11f
3 changed files with 14 additions and 7 deletions

View File

@@ -40,7 +40,7 @@ TEST(Learner, ParameterValidation) {
auto learner = std::unique_ptr<Learner>(Learner::Create({p_mat}));
learner->SetParam("validate_parameters", "1");
learner->SetParam("Knock Knock", "Who's there?");
learner->SetParam("Knock-Knock", "Who's-there?");
learner->SetParam("Silence", "....");
learner->SetParam("tree_method", "exact");
@@ -48,7 +48,11 @@ TEST(Learner, ParameterValidation) {
learner->Configure();
std::string output = testing::internal::GetCapturedStderr();
ASSERT_TRUE(output.find("Parameters: { Knock Knock, Silence }") != std::string::npos);
ASSERT_TRUE(output.find(R"(Parameters: { "Knock-Knock", "Silence" })") != std::string::npos);
// whitespace
learner->SetParam("tree method", "exact");
EXPECT_THROW(learner->Configure(), dmlc::Error);
}
TEST(Learner, CheckGroup) {