From: John Spray Date: Thu, 20 Jul 2017 15:53:38 +0000 (-0400) Subject: test: use config set_val_or_die instead of set_val X-Git-Tag: v12.1.2~192^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7267065cdf258556a68ca39dc4f9922e8b418942;p=ceph.git test: use config set_val_or_die instead of set_val ...in places that the return code was not being checked. This fixes cases where an error in the config schema or the value being passed in would cause weird failures beacuse the set_val had not taken effect. Signed-off-by: John Spray --- diff --git a/src/common/config.cc b/src/common/config.cc index 39a48cae8845..ea4c5065afa4 100644 --- a/src/common/config.cc +++ b/src/common/config.cc @@ -765,9 +765,15 @@ int md_config_t::injectargs(const std::string& s, std::ostream *oss) return ret; } -void md_config_t::set_val_or_die(const std::string &key, const char *val) +void md_config_t::set_val_or_die(const std::string &key, + const std::string &val, + bool meta) { - int ret = set_val(key, val); + std::stringstream err; + int ret = set_val(key, val, meta, &err); + if (ret != 0) { + std::cerr << "set_val_or_die(" << key << "): " << err.str(); + } assert(ret == 0); } diff --git a/src/common/config.h b/src/common/config.h index e12228a2b27b..a36b9d13e648 100644 --- a/src/common/config.h +++ b/src/common/config.h @@ -144,7 +144,8 @@ public: // Set a configuration value, or crash // Metavariables will be expanded. - void set_val_or_die(const std::string &key, const char *val); + void set_val_or_die(const std::string &key, const std::string &val, + bool meta=true); // Set a configuration value. // Metavariables will be expanded. diff --git a/src/test/erasure-code/TestErasureCodeShec_all.cc b/src/test/erasure-code/TestErasureCodeShec_all.cc index 310fd88cb83f..9150cbd65e37 100644 --- a/src/test/erasure-code/TestErasureCodeShec_all.cc +++ b/src/test/erasure-code/TestErasureCodeShec_all.cc @@ -300,7 +300,7 @@ int main(int argc, char **argv) const char* env = getenv("CEPH_LIB"); string directory(env ? env : ".libs"); - g_conf->set_val("erasure_code_dir", directory, false); + g_conf->set_val_or_die("erasure_code_dir", directory, false); ::testing::InitGoogleTest(&argc, argv); diff --git a/src/test/erasure-code/TestErasureCodeShec_arguments.cc b/src/test/erasure-code/TestErasureCodeShec_arguments.cc index 9caa9a8dd29e..10e1a0b27e01 100644 --- a/src/test/erasure-code/TestErasureCodeShec_arguments.cc +++ b/src/test/erasure-code/TestErasureCodeShec_arguments.cc @@ -399,7 +399,7 @@ int main(int argc, char **argv) const char* env = getenv("CEPH_LIB"); std::string directory(env ? env : ".libs"); - g_conf->set_val("erasure_code_dir", directory, false); + g_conf->set_val_or_die("erasure_code_dir", directory, false); ::testing::InitGoogleTest(&argc, argv); diff --git a/src/test/erasure-code/ceph_erasure_code.cc b/src/test/erasure-code/ceph_erasure_code.cc index f15c698a58ee..249362fec5a0 100644 --- a/src/test/erasure-code/ceph_erasure_code.cc +++ b/src/test/erasure-code/ceph_erasure_code.cc @@ -91,7 +91,7 @@ int ErasureCodeCommand::setup(int argc, char** argv) { g_ceph_context->_conf->apply_changes(NULL); const char* env = getenv("CEPH_LIB"); string directory(env ? env : ".libs"); - g_conf->set_val("erasure_code_dir", directory, false); + g_conf->set_val_or_die("erasure_code_dir", directory, false); if (vm.count("help")) { cout << desc << std::endl; diff --git a/src/test/erasure-code/ceph_erasure_code_non_regression.cc b/src/test/erasure-code/ceph_erasure_code_non_regression.cc index 32e4be3d161e..355191714b7c 100644 --- a/src/test/erasure-code/ceph_erasure_code_non_regression.cc +++ b/src/test/erasure-code/ceph_erasure_code_non_regression.cc @@ -98,7 +98,7 @@ int ErasureCodeNonRegression::setup(int argc, char** argv) { g_ceph_context->_conf->apply_changes(NULL); const char* env = getenv("CEPH_LIB"); std::string libs_dir(env ? env : ".libs"); - g_conf->set_val("erasure_code_dir", libs_dir, false); + g_conf->set_val_or_die("erasure_code_dir", libs_dir, false); if (vm.count("help")) { cout << desc << std::endl; diff --git a/src/test/unit.cc b/src/test/unit.cc index bd895f50a6c2..8c901ea95ce8 100644 --- a/src/test/unit.cc +++ b/src/test/unit.cc @@ -43,8 +43,8 @@ int main(int argc, char **argv) { const char* env = getenv("CEPH_LIB"); if (env) { - g_conf->set_val("erasure_code_dir", env, false); - g_conf->set_val("plugin_dir", env, false); + g_conf->set_val_or_die("erasure_code_dir", env, false); + g_conf->set_val_or_die("plugin_dir", env, false); } ::testing::InitGoogleTest(&argc, argv);