add mypy_selftest.py (#1102)

* add mypy_selftest.py
* add selftest to Travis
This commit is contained in:
Jelle Zijlstra
2017-04-17 11:17:27 -07:00
committed by Łukasz Langa
parent 7e58389a27
commit e50fcaf658
3 changed files with 38 additions and 1 deletions

27
tests/mypy_selftest.py Executable file
View File

@@ -0,0 +1,27 @@
#!/usr/bin/env python3
"""Script to run mypy's test suite against this version of typeshed."""
from pathlib import Path
import shutil
import subprocess
import sys
import tempfile
if __name__ == '__main__':
with tempfile.TemporaryDirectory() as tempdir:
dirpath = Path(tempdir)
subprocess.run(['git', 'clone', '--depth', '1', 'git://github.com/python/mypy',
str(dirpath / 'mypy')], check=True)
subprocess.run([sys.executable, '-m', 'pip', 'install', '-U', '-r',
str(dirpath / 'mypy/test-requirements.txt')], check=True)
shutil.copytree('stdlib', str(dirpath / 'mypy/typeshed/stdlib'))
shutil.copytree('third_party', str(dirpath / 'mypy/typeshed/third_party'))
try:
subprocess.run(['./runtests.py'], cwd=str(dirpath / 'mypy'), check=True)
except subprocess.CalledProcessError as e:
print('mypy tests failed', file=sys.stderr)
sys.exit(e.returncode)
else:
print('mypy tests succeeded', file=sys.stderr)
sys.exit(0)