44 lines
1.3 KiB
Python
44 lines
1.3 KiB
Python
|
"""Negative compilation tests for Google Mock macro MOCK_METHOD."""
|
||
|
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
IS_LINUX = os.name == "posix" and os.uname()[0] == "Linux"
|
||
|
if not IS_LINUX:
|
||
|
sys.stderr.write(
|
||
|
"WARNING: Negative compilation tests are not supported on this platform")
|
||
|
sys.exit(0)
|
||
|
|
||
|
# Suppresses the 'Import not at the top of the file' lint complaint.
|
||
|
# pylint: disable-msg=C6204
|
||
|
from google3.testing.pybase import fake_target_util
|
||
|
from google3.testing.pybase import googletest
|
||
|
|
||
|
# pylint: enable-msg=C6204
|
||
|
|
||
|
|
||
|
class GMockMethodNCTest(googletest.TestCase):
|
||
|
"""Negative compilation tests for MOCK_METHOD."""
|
||
|
|
||
|
# The class body is intentionally empty. The actual test*() methods
|
||
|
# will be defined at run time by a call to
|
||
|
# DefineNegativeCompilationTests() later.
|
||
|
pass
|
||
|
|
||
|
|
||
|
# Defines a list of test specs, where each element is a tuple
|
||
|
# (test name, list of regexes for matching the compiler errors).
|
||
|
TEST_SPECS = [
|
||
|
("MOCK_METHOD_INVALID_CONST_SPEC",
|
||
|
[r"onst cannot be recognized as a valid specification modifier"]),
|
||
|
]
|
||
|
|
||
|
# Define a test method in GMockNCTest for each element in TEST_SPECS.
|
||
|
fake_target_util.DefineNegativeCompilationTests(
|
||
|
GMockMethodNCTest,
|
||
|
"google3/third_party/googletest/googlemock/test/gmock-function-mocker_nc",
|
||
|
"gmock-function-mocker_nc.o", TEST_SPECS)
|
||
|
|
||
|
if __name__ == "__main__":
|
||
|
googletest.main()
|