aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkosak <kosak@google.com>2014-11-17 02:22:20 +0000
committerkosak <kosak@google.com>2014-11-17 02:22:20 +0000
commit6e87b780d34837f221f410a66c5b55d5bb76e45d (patch)
tree668a17b73d0788f1a15c2f800b4fd8bdf8df4978
parentcd99eb0bbd8391029cae1e05ad740f8404eb0b71 (diff)
downloadgoogletest-6e87b780d34837f221f410a66c5b55d5bb76e45d.tar.gz
googletest-6e87b780d34837f221f410a66c5b55d5bb76e45d.tar.bz2
googletest-6e87b780d34837f221f410a66c5b55d5bb76e45d.zip
Update gmock_doctor to accept static_assert output.
-rwxr-xr-xscripts/gmock_doctor.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/scripts/gmock_doctor.py b/scripts/gmock_doctor.py
index f7c3920f..e6e6a521 100755
--- a/scripts/gmock_doctor.py
+++ b/scripts/gmock_doctor.py
@@ -175,11 +175,15 @@ def _NeedToReturnReferenceDiagnoser(msg):
r'note: in instantiation of function template specialization '
r'\'testing::internal::ReturnAction<(?P<type>.*)>'
r'::operator Action<.*>\' requested here')
+ clang11_re = (r'use_ReturnRef_instead_of_Return_to_return_a_reference.*'
+ r'(.*\n)*?' + _CLANG_NON_GMOCK_FILE_LINE_RE)
+
diagnosis = """
You are using a Return() action in a function that returns a reference to
%(type)s. Please use ReturnRef() instead."""
return _GenericDiagnoser('NRR', 'Need to Return Reference',
[(clang_regex, diagnosis),
+ (clang11_re, diagnosis % {'type': 'a type'}),
(gcc_regex, diagnosis % {'type': 'a type'})],
msg)
@@ -517,12 +521,17 @@ def _WrongMockMethodMacroDiagnoser(msg):
r'(?P=file):(?P=line):(?P=column): error: too few arguments '
r'to function call, expected (?P<args>\d+), '
r'have (?P<wrong_args>\d+)')
+ clang11_re = (_CLANG_NON_GMOCK_FILE_LINE_RE +
+ r'.*this_method_does_not_take_'
+ r'(?P<wrong_args>\d+)_argument.*')
diagnosis = """
You are using MOCK_METHOD%(wrong_args)s to define a mock method that has
%(args)s arguments. Use MOCK_METHOD%(args)s (or MOCK_CONST_METHOD%(args)s,
MOCK_METHOD%(args)s_T, MOCK_CONST_METHOD%(args)s_T as appropriate) instead."""
return _GenericDiagnoser('WMM', 'Wrong MOCK_METHODn Macro',
[(gcc_regex, diagnosis),
+ (clang11_re, diagnosis % {'wrong_args': 'm',
+ 'args': 'n'}),
(clang_regex, diagnosis)],
msg)