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