MCPcopy Create free account
hub / github.com/EmbeddedRPC/erpc / ParseGoogleTestFlagsOnlyImpl

Function ParseGoogleTestFlagsOnlyImpl

test/common/gtest/gtest.cpp:6805–6871  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

6803// instantiated to either char or wchar_t.
6804template <typename CharType>
6805void ParseGoogleTestFlagsOnlyImpl(int* argc, CharType** argv) {
6806 for (int i = 1; i < *argc; i++) {
6807 const std::string arg_string = StreamableToString(argv[i]);
6808 const char* const arg = arg_string.c_str();
6809
6810 using internal::ParseBoolFlag;
6811 using internal::ParseInt32Flag;
6812 using internal::ParseStringFlag;
6813
6814 // Do we see a Google Test flag?
6815 if (ParseBoolFlag(arg, kAlsoRunDisabledTestsFlag,
6816 &GTEST_FLAG(also_run_disabled_tests)) ||
6817 ParseBoolFlag(arg, kBreakOnFailureFlag,
6818 &GTEST_FLAG(break_on_failure)) ||
6819 ParseBoolFlag(arg, kCatchExceptionsFlag,
6820 &GTEST_FLAG(catch_exceptions)) ||
6821 ParseStringFlag(arg, kColorFlag, &GTEST_FLAG(color)) ||
6822 ParseStringFlag(arg, kDeathTestStyleFlag,
6823 &GTEST_FLAG(death_test_style)) ||
6824 ParseBoolFlag(arg, kDeathTestUseFork,
6825 &GTEST_FLAG(death_test_use_fork)) ||
6826 ParseStringFlag(arg, kFilterFlag, &GTEST_FLAG(filter)) ||
6827 ParseStringFlag(arg, kInternalRunDeathTestFlag,
6828 &GTEST_FLAG(internal_run_death_test)) ||
6829 ParseBoolFlag(arg, kListTestsFlag, &GTEST_FLAG(list_tests)) ||
6830 ParseStringFlag(arg, kOutputFlag, &GTEST_FLAG(output)) ||
6831 ParseBoolFlag(arg, kPrintTimeFlag, &GTEST_FLAG(print_time)) ||
6832 ParseInt32Flag(arg, kRandomSeedFlag, &GTEST_FLAG(random_seed)) ||
6833 ParseInt32Flag(arg, kRepeatFlag, &GTEST_FLAG(repeat)) ||
6834 ParseBoolFlag(arg, kShuffleFlag, &GTEST_FLAG(shuffle)) ||
6835 ParseInt32Flag(arg, kStackTraceDepthFlag,
6836 &GTEST_FLAG(stack_trace_depth)) ||
6837 ParseStringFlag(arg, kStreamResultToFlag,
6838 &GTEST_FLAG(stream_result_to)) ||
6839 ParseBoolFlag(arg, kThrowOnFailureFlag,
6840 &GTEST_FLAG(throw_on_failure))
6841 ) {
6842 // Yes. Shift the remainder of the argv list left by one. Note
6843 // that argv has (*argc + 1) elements, the last one always being
6844 // NULL. The following loop moves the trailing NULL element as
6845 // well.
6846 for (int j = i; j != *argc; j++) {
6847 argv[j] = argv[j + 1];
6848 }
6849
6850 // Decrements the argument count.
6851 (*argc)--;
6852
6853 // We also need to decrement the iterator as we just removed
6854 // an element.
6855 i--;
6856 } else if (arg_string == "--help" || arg_string == "-h" ||
6857 arg_string == "-?" || arg_string == "/?" ||
6858 HasGoogleTestFlagPrefix(arg)) {
6859 // Both help flag and unrecognized Google Test flags (excluding
6860 // internal ones) trigger help display.
6861 g_help_flag = true;
6862 }

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