summaryrefslogtreecommitdiff
path: root/src/mongo/unittest/unittest_main.cpp
diff options
context:
space:
mode:
authorSara Golemon <sara.golemon@mongodb.com>2019-02-21 21:06:25 +0000
committerSara Golemon <sara.golemon@mongodb.com>2019-02-22 19:03:54 +0000
commitbd5bd0eff3fc852d55760ebb4c7ac62e394e8ce6 (patch)
tree1a074c3f35044dc91c072278f8297055d3e5b18c /src/mongo/unittest/unittest_main.cpp
parent493d6db58f37927e3bd267e6fd582a7e79d96678 (diff)
downloadmongo-bd5bd0eff3fc852d55760ebb4c7ac62e394e8ce6.tar.gz
SERVER-39725 Migrate unittest options to IDL
Diffstat (limited to 'src/mongo/unittest/unittest_main.cpp')
-rw-r--r--src/mongo/unittest/unittest_main.cpp31
1 files changed, 11 insertions, 20 deletions
diff --git a/src/mongo/unittest/unittest_main.cpp b/src/mongo/unittest/unittest_main.cpp
index 71db1c09116..f83ab75d31b 100644
--- a/src/mongo/unittest/unittest_main.cpp
+++ b/src/mongo/unittest/unittest_main.cpp
@@ -35,6 +35,7 @@
#include "mongo/base/status.h"
#include "mongo/logger/logger.h"
#include "mongo/unittest/unittest.h"
+#include "mongo/unittest/unittest_options_gen.h"
#include "mongo/util/options_parser/environment.h"
#include "mongo/util/options_parser/option_section.h"
#include "mongo/util/options_parser/options_parser.h"
@@ -42,35 +43,25 @@
using mongo::Status;
+namespace moe = ::mongo::optionenvironment;
+
int main(int argc, char** argv, char** envp) {
::mongo::clearSignalMask();
::mongo::setupSynchronousSignalHandlers();
::mongo::runGlobalInitializersOrDie(argc, argv, envp);
- namespace moe = ::mongo::optionenvironment;
- moe::OptionsParser parser;
- moe::Environment environment;
moe::OptionSection options;
- std::map<std::string, std::string> env;
-
- // Register our allowed options with our OptionSection
- auto listDesc = "List all test suites in this unit test.";
- options.addOptionChaining("list", "list", moe::Switch, listDesc).setDefault(moe::Value(false));
-
- auto suiteDesc = "Test suite name. Specify --suite more than once to run multiple suites.";
- options.addOptionChaining("suite", "suite", moe::StringVector, suiteDesc);
-
- auto filterDesc = "Test case name filter. Specify the substring of the test names.";
- options.addOptionChaining("filter", "filter", moe::String, filterDesc);
- auto repeatDesc = "Specifies the number of runs for each test.";
- options.addOptionChaining("repeat", "repeat", moe::Int, repeatDesc).setDefault(moe::Value(1));
-
- auto verboseDesc = "Log more verbose output. Specify one or more 'v's to increase verbosity.";
- options.addOptionChaining("verbose", "verbose", moe::String, verboseDesc)
- .setImplicit(moe::Value(std::string("v")));
+ Status status = mongo::unittest::addUnitTestOptions(&options);
+ if (!status.isOK()) {
+ std::cerr << status;
+ return EXIT_FAILURE;
+ }
+ moe::OptionsParser parser;
+ moe::Environment environment;
+ std::map<std::string, std::string> env;
std::vector<std::string> argVector(argv, argv + argc);
Status ret = parser.run(options, argVector, env, &environment);
if (!ret.isOK()) {