MCPcopy Create free account
hub / github.com/BVLC/caffe / ParseGoogleTestFlagsOnlyImpl

Function ParseGoogleTestFlagsOnlyImpl

src/gtest/gtest-all.cpp:6075–6141  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6073// instantiated to either char or wchar_t.
6074template <typename CharType>
6075void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
6076 for (int i = 1; i < *argc; i++) {
6077 const String arg_string = StreamableToString(argv[i]);
6078 const char* const arg = arg_string.c_str();
6079
6080 using internal::ParseBoolFlag;
6081 using internal::ParseInt32Flag;
6082 using internal::ParseStringFlag;
6083
6084 // Do we see a Google Test flag?
6085 if (ParseBoolFlag(arg, kAlsoRunDisabledTestsFlag,
6086 &GTEST_FLAG(also_run_disabled_tests)) ||
6087 ParseBoolFlag(arg, kBreakOnFailureFlag,
6088 &GTEST_FLAG(break_on_failure)) ||
6089 ParseBoolFlag(arg, kCatchExceptionsFlag,
6090 &GTEST_FLAG(catch_exceptions)) ||
6091 ParseStringFlag(arg, kColorFlag, &GTEST_FLAG(color)) ||
6092 ParseStringFlag(arg, kDeathTestStyleFlag,
6093 &GTEST_FLAG(death_test_style)) ||
6094 ParseBoolFlag(arg, kDeathTestUseFork,
6095 &GTEST_FLAG(death_test_use_fork)) ||
6096 ParseStringFlag(arg, kFilterFlag, &GTEST_FLAG(filter)) ||
6097 ParseStringFlag(arg, kInternalRunDeathTestFlag,
6098 &GTEST_FLAG(internal_run_death_test)) ||
6099 ParseBoolFlag(arg, kListTestsFlag, &GTEST_FLAG(list_tests)) ||
6100 ParseStringFlag(arg, kOutputFlag, &GTEST_FLAG(output)) ||
6101 ParseBoolFlag(arg, kPrintTimeFlag, &GTEST_FLAG(print_time)) ||
6102 ParseInt32Flag(arg, kRandomSeedFlag, &GTEST_FLAG(random_seed)) ||
6103 ParseInt32Flag(arg, kRepeatFlag, &GTEST_FLAG(repeat)) ||
6104 ParseBoolFlag(arg, kShuffleFlag, &GTEST_FLAG(shuffle)) ||
6105 ParseInt32Flag(arg, kStackTraceDepthFlag,
6106 &GTEST_FLAG(stack_trace_depth)) ||
6107 ParseStringFlag(arg, kStreamResultToFlag,
6108 &GTEST_FLAG(stream_result_to)) ||
6109 ParseBoolFlag(arg, kThrowOnFailureFlag,
6110 &GTEST_FLAG(throw_on_failure))
6111 ) {
6112 // Yes. Shift the remainder of the argv list left by one. Note
6113 // that argv has (*argc + 1) elements, the last one always being
6114 // NULL. The following loop moves the trailing NULL element as
6115 // well.
6116 for (int j = i; j != *argc; j++) {
6117 argv[j] = argv[j + 1];
6118 }
6119
6120 // Decrements the argument count.
6121 (*argc)--;
6122
6123 // We also need to decrement the iterator as we just removed
6124 // an element.
6125 i--;
6126 } else if (arg_string == "--help" || arg_string == "-h" ||
6127 arg_string == "-?" || arg_string == "/?" ||
6128 HasGoogleTestFlagPrefix(arg)) {
6129 // Both help flag and unrecognized Google Test flags (excluding
6130 // internal ones) trigger help display.
6131 g_help_flag = true;
6132 }

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