35 "true if and only if Google Mock should report leaked "
36 "mock objects as failures.");
39 "Controls how verbose Google Mock's output is."
41 " info - prints all messages.\n"
42 " warning - prints warnings and errors.\n"
43 " error - prints errors only.");
46 "Controls the default behavior of mocks."
48 " 0 - by default, mocks act as NiceMocks.\n"
49 " 1 - by default, mocks act as NaggyMocks.\n"
50 " 2 - by default, mocks act as StrictMocks.");
61 const char* flag_name,
64 if (str ==
nullptr || flag_name ==
nullptr)
return nullptr;
67 const std::string flag_name_str = std::string(
"--gmock_") + flag_name;
68 const size_t flag_name_len = flag_name_str.length();
69 if (strncmp(str, flag_name_str.c_str(), flag_name_len) != 0)
return nullptr;
72 const char* flag_end = str + flag_name_len;
75 if (def_optional && (flag_end[0] ==
'\0')) {
82 if (flag_end[0] !=
'=')
return nullptr;
99 if (value_str ==
nullptr)
return false;
102 *value = !(*value_str ==
'0' || *value_str ==
'f' || *value_str ==
'F');
111template <
typename String>
118 if (value_str ==
nullptr)
return false;
131 if (value_str ==
nullptr)
return false;
134 return ParseInt32(Message() <<
"The value of flag --" << flag_name, value_str,
142template <
typename CharType>
147 if (*argc <= 0)
return;
149 for (
int i = 1; i != *argc; i++) {
150 const std::string arg_string = StreamableToString(argv[i]);
151 const char*
const arg = arg_string.c_str();
154 bool found_gmock_flag =
false;
156#define GMOCK_INTERNAL_PARSE_FLAG(flag_name) \
157 if (!found_gmock_flag) { \
158 auto value = GMOCK_FLAG_GET(flag_name); \
159 if (ParseGoogleMockFlag(arg, #flag_name, &value)) { \
160 GMOCK_FLAG_SET(flag_name, value); \
161 found_gmock_flag = true; \
169 if (found_gmock_flag) {
174 for (
int j = i; j != *argc; j++) {
175 argv[j] = argv[j + 1];
216 const auto arg0 =
"dummy";
217 char* argv0 =
const_cast<char*
>(arg0);
218 char** argv = &argv0;
#define GMOCK_DEFINE_int32_(name, default_val, doc)
#define GMOCK_DEFINE_bool_(name, default_val, doc)
#define GMOCK_DEFINE_string_(name, default_val, doc)
#define GMOCK_INTERNAL_PARSE_FLAG(flag_name)
void InitGoogleMockImpl(int *argc, CharType **argv)
bool ParseInt32(const Message &src_text, const char *str, int32_t *value)
static bool ParseGoogleMockFlag(const char *str, const char *flag_name, bool *value)
const char kWarningVerbosity[]
static const char * ParseGoogleMockFlagValue(const char *str, const char *flag_name, bool def_optional)
GTEST_API_ void InitGoogleMock()