|  | import pathlib | 
|  | import unittest | 
|  |  | 
|  | import mypy.api | 
|  |  | 
|  | test_modules = ['rsa', 'tests'] | 
|  |  | 
|  |  | 
|  | class MypyRunnerTest(unittest.TestCase): | 
|  | def test_run_mypy(self): | 
|  | proj_root = pathlib.Path(__file__).parent.parent | 
|  | args = ['--incremental', '--ignore-missing-imports'] + [str(proj_root / dirname) for dirname | 
|  | in test_modules] | 
|  |  | 
|  | result = mypy.api.run(args) | 
|  |  | 
|  | stdout, stderr, status = result | 
|  |  | 
|  | messages = [] | 
|  | if stderr: | 
|  | messages.append(stderr) | 
|  | if stdout: | 
|  | messages.append(stdout) | 
|  | if status: | 
|  | messages.append('Mypy failed with status %d' % status) | 
|  | if messages and not all('Success' in message for message in messages): | 
|  | self.fail('\n'.join(['Mypy errors:'] + messages)) |