You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
830 B
28 lines
830 B
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))
|