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()
 |