37 "true if and only if Google Mock should report leaked "
38 "mock objects as failures.");
41 "Controls how verbose Google Mock's output is."
43 " info - prints all messages.\n"
44 " warning - prints warnings and errors.\n"
45 " error - prints errors only.");
48 "Controls the default behavior of mocks."
50 " 0 - by default, mocks act as NiceMocks.\n"
51 " 1 - by default, mocks act as NaggyMocks.\n"
52 " 2 - by default, mocks act as StrictMocks.");
63 const char* flag_name,
66 if (str ==
nullptr || flag_name ==
nullptr)
return nullptr;
69 const std::string flag_name_str = std::string(
"--gmock_") + flag_name;
70 const size_t flag_name_len = flag_name_str.length();
71 if (strncmp(str, flag_name_str.c_str(), flag_name_len) != 0)
return nullptr;
74 const char* flag_end = str + flag_name_len;
77 if (def_optional && (flag_end[0] ==
'\0')) {
84 if (flag_end[0] !=
'=')
return nullptr;
101 if (value_str ==
nullptr)
return false;
104 *value = !(*value_str ==
'0' || *value_str ==
'f' || *value_str ==
'F');
113 template <
typename String>
120 if (value_str ==
nullptr)
return false;
133 if (value_str ==
nullptr)
return false;
144 template <
typename CharType>
149 if (*argc <= 0)
return;
151 for (
int i = 1;
i != *argc;
i++) {
153 const char*
const arg = arg_string.c_str();
156 bool found_gmock_flag =
false;
158 #define GMOCK_INTERNAL_PARSE_FLAG(flag_name) \
159 if (!found_gmock_flag) { \
160 auto value = GMOCK_FLAG_GET(flag_name); \
161 if (ParseGoogleMockFlag(arg, #flag_name, &value)) { \
162 GMOCK_FLAG_SET(flag_name, value); \
163 found_gmock_flag = true; \
171 if (found_gmock_flag) {
176 for (
int j = i; j != *argc; j++) {
177 argv[j] = argv[j + 1];
218 const auto arg0 =
"dummy";
219 char* argv0 =
const_cast<char*
>(arg0);
220 char** argv = &argv0;
GMOCK_DEFINE_bool_(catch_leaked_mocks, true,"true if and only if Google Mock should report leaked ""mock objects as failures.")
static const char * ParseGoogleMockFlagValue(const char *str, const char *flag_name, bool def_optional)
GTEST_API_ void InitGoogleMock(int *argc, char **argv)
#define GMOCK_INTERNAL_PARSE_FLAG(flag_name)
const char kWarningVerbosity[]
std::string StreamableToString(const T &streamable)
GTEST_API_ bool ParseInt32(const Message &src_text, const char *str, int32_t *value)
static bool ParseGoogleMockFlag(const char *str, const char *flag_name, bool *value)
void InitGoogleMockImpl(int *argc, CharType **argv)
GMOCK_DEFINE_string_(verbose, testing::internal::kWarningVerbosity,"Controls how verbose Google Mock's output is."" Valid values:\n"" info - prints all messages.\n"" warning - prints warnings and errors.\n"" error - prints errors only.")
GMOCK_DEFINE_int32_(default_mock_behavior, 1,"Controls the default behavior of mocks."" Valid values:\n"" 0 - by default, mocks act as NiceMocks.\n"" 1 - by default, mocks act as NaggyMocks.\n"" 2 - by default, mocks act as StrictMocks.")
GTEST_API_ void InitGoogleTest(int *argc, char **argv)