MCPcopy Create free account
hub / github.com/apache/singa / ParseGoogleTestFlagsOnlyImpl

Function ParseGoogleTestFlagsOnlyImpl

test/gtest/gtest-all.cc:6373–6439  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6371// instantiated to either char or wchar_t.
6372template <typename CharType>
6373void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
6374 for (int i = 1; i < *argc; i++) {
6375 const std::string arg_string = StreamableToString(argv[i]);
6376 const char* const arg = arg_string.c_str();
6377
6378 using internal::ParseBoolFlag;
6379 using internal::ParseInt32Flag;
6380 using internal::ParseStringFlag;
6381
6382 // Do we see a Google Test flag?
6383 if (ParseBoolFlag(arg, kAlsoRunDisabledTestsFlag,
6384 &GTEST_FLAG(also_run_disabled_tests)) ||
6385 ParseBoolFlag(arg, kBreakOnFailureFlag,
6386 &GTEST_FLAG(break_on_failure)) ||
6387 ParseBoolFlag(arg, kCatchExceptionsFlag,
6388 &GTEST_FLAG(catch_exceptions)) ||
6389 ParseStringFlag(arg, kColorFlag, &GTEST_FLAG(color)) ||
6390 ParseStringFlag(arg, kDeathTestStyleFlag,
6391 &GTEST_FLAG(death_test_style)) ||
6392 ParseBoolFlag(arg, kDeathTestUseFork,
6393 &GTEST_FLAG(death_test_use_fork)) ||
6394 ParseStringFlag(arg, kFilterFlag, &GTEST_FLAG(filter)) ||
6395 ParseStringFlag(arg, kInternalRunDeathTestFlag,
6396 &GTEST_FLAG(internal_run_death_test)) ||
6397 ParseBoolFlag(arg, kListTestsFlag, &GTEST_FLAG(list_tests)) ||
6398 ParseStringFlag(arg, kOutputFlag, &GTEST_FLAG(output)) ||
6399 ParseBoolFlag(arg, kPrintTimeFlag, &GTEST_FLAG(print_time)) ||
6400 ParseInt32Flag(arg, kRandomSeedFlag, &GTEST_FLAG(random_seed)) ||
6401 ParseInt32Flag(arg, kRepeatFlag, &GTEST_FLAG(repeat)) ||
6402 ParseBoolFlag(arg, kShuffleFlag, &GTEST_FLAG(shuffle)) ||
6403 ParseInt32Flag(arg, kStackTraceDepthFlag,
6404 &GTEST_FLAG(stack_trace_depth)) ||
6405 ParseStringFlag(arg, kStreamResultToFlag,
6406 &GTEST_FLAG(stream_result_to)) ||
6407 ParseBoolFlag(arg, kThrowOnFailureFlag,
6408 &GTEST_FLAG(throw_on_failure))
6409 ) {
6410 // Yes. Shift the remainder of the argv list left by one. Note
6411 // that argv has (*argc + 1) elements, the last one always being
6412 // NULL. The following loop moves the trailing NULL element as
6413 // well.
6414 for (int j = i; j != *argc; j++) {
6415 argv[j] = argv[j + 1];
6416 }
6417
6418 // Decrements the argument count.
6419 (*argc)--;
6420
6421 // We also need to decrement the iterator as we just removed
6422 // an element.
6423 i--;
6424 } else if (arg_string == "--help" || arg_string == "-h" ||
6425 arg_string == "-?" || arg_string == "/?" ||
6426 HasGoogleTestFlagPrefix(arg)) {
6427 // Both help flag and unrecognized Google Test flags (excluding
6428 // internal ones) trigger help display.
6429 g_help_flag = true;
6430 }

Callers 1

ParseGoogleTestFlagsOnlyFunction · 0.85

Calls 6

StreamableToStringFunction · 0.85
ParseBoolFlagFunction · 0.85
ParseStringFlagFunction · 0.85
ParseInt32FlagFunction · 0.85
HasGoogleTestFlagPrefixFunction · 0.85
PrintColorEncodedFunction · 0.85

Tested by

no test coverage detected