5
5
6
6
from mypy .waiter import Waiter , LazySubprocess
7
7
from mypy import util
8
- from mypy .test .config import test_data_prefix
9
- from mypy .test .testpythoneval import python_eval_files , python_34_eval_files
10
8
11
9
import itertools
12
10
import os
13
11
from os .path import join , isdir
14
- import re
15
12
import sys
16
13
17
14
@@ -92,7 +89,8 @@ def add_mypy_package(self, name: str, packagename: str, *flags: str) -> None:
92
89
def add_mypy_string (self , name : str , * args : str , cwd : Optional [str ] = None ) -> None :
93
90
self .add_mypy_cmd (name , ['-c' ] + list (args ), cwd = cwd )
94
91
95
- def add_pytest (self , name : str , pytest_args : List [str ], coverage : bool = False ) -> None :
92
+ def add_pytest (self , name : str , pytest_files : List [str ], coverage : bool = True ) -> None :
93
+ pytest_args = pytest_files + self .arglist + self .pyt_arglist
96
94
full_name = 'pytest %s' % name
97
95
if not self .allow (full_name ):
98
96
return
@@ -197,7 +195,12 @@ def add_imports(driver: Driver) -> None:
197
195
driver .add_python_string ('import %s' % mod , 'import %s' % mod )
198
196
199
197
200
- PYTEST_FILES = [os .path .join ('mypy' , 'test' , '{}.py' .format (name )) for name in [
198
+ def test_path (* names : str ):
199
+ return [os .path .join ('mypy' , 'test' , '{}.py' .format (name ))
200
+ for name in names ]
201
+
202
+
203
+ PYTEST_FILES = test_path (
201
204
'testcheck' ,
202
205
'testextensions' ,
203
206
'testdeps' ,
@@ -208,57 +211,36 @@ def add_imports(driver: Driver) -> None:
208
211
'testtypegen' ,
209
212
'testparse' ,
210
213
'testsemanal' ,
211
- ]]
214
+ 'testpythoneval' ,
215
+ 'testcmdline'
216
+ )
217
+
218
+ MYUNIT_FILES = test_path (
219
+ 'teststubgen' , # contains data-driven suite
220
+
221
+ 'testargs' ,
222
+ 'testgraph' ,
223
+ 'testinfer' ,
224
+ 'testmoduleinfo' ,
225
+ 'testreports' ,
226
+ 'testsolve' ,
227
+ 'testsubtypes' ,
228
+ 'testtypes'
229
+ )
230
+
231
+ for f in find_files ('mypy' , prefix = 'test' , suffix = '.py' ):
232
+ assert f in PYTEST_FILES + MYUNIT_FILES , f
212
233
213
234
214
235
def add_pytest (driver : Driver ) -> None :
215
- driver .add_pytest ('pytest' , PYTEST_FILES + driver . arglist + driver . pyt_arglist , True )
236
+ driver .add_pytest ('pytest' , PYTEST_FILES )
216
237
217
238
218
239
def add_myunit (driver : Driver ) -> None :
219
- for f in find_files ( 'mypy' , prefix = 'test' , suffix = '.py' ) :
240
+ for f in MYUNIT_FILES :
220
241
mod = file_to_module (f )
221
- if mod in ('mypy.test.testpythoneval' , 'mypy.test.testcmdline' ):
222
- # Run Python evaluation integration tests and command-line
223
- # parsing tests separately since they are much slower than
224
- # proper unit tests.
225
- pass
226
- elif f in PYTEST_FILES :
227
- # This module has been converted to pytest; don't try to use myunit.
228
- pass
229
- else :
230
- driver .add_python_mod ('unit-test %s' % mod , 'mypy.myunit' , '-m' , mod ,
231
- * driver .arglist , coverage = True )
232
-
233
-
234
- def add_pythoneval (driver : Driver ) -> None :
235
- cases = set ()
236
- case_re = re .compile (r'^\[case ([^\]]+)\]$' )
237
- for file in python_eval_files + python_34_eval_files :
238
- with open (os .path .join (test_data_prefix , file ), 'r' ) as f :
239
- for line in f :
240
- m = case_re .match (line )
241
- if m :
242
- case_name = m .group (1 )
243
- assert case_name [:4 ] == 'test'
244
- cases .add (case_name [4 :5 ])
245
-
246
- for prefix in sorted (cases ):
247
- driver .add_python_mod (
248
- 'eval-test-' + prefix ,
249
- 'mypy.myunit' ,
250
- '-m' ,
251
- 'mypy.test.testpythoneval' ,
252
- 'test_testpythoneval_PythonEvaluationSuite.test' + prefix + '*' ,
253
- * driver .arglist ,
254
- coverage = True
255
- )
256
-
257
-
258
- def add_cmdline (driver : Driver ) -> None :
259
- driver .add_python_mod ('cmdline-test' , 'mypy.myunit' ,
260
- '-m' , 'mypy.test.testcmdline' , * driver .arglist ,
261
- coverage = True )
242
+ driver .add_python_mod ('unit-test %s' % mod , 'mypy.myunit' , '-m' , mod ,
243
+ * driver .arglist , coverage = True )
262
244
263
245
264
246
def add_stubs (driver : Driver ) -> None :
@@ -432,8 +414,6 @@ def main() -> None:
432
414
433
415
driver .add_flake8 ()
434
416
add_pytest (driver )
435
- add_pythoneval (driver )
436
- add_cmdline (driver )
437
417
add_basic (driver )
438
418
add_selftypecheck (driver )
439
419
add_myunit (driver )
0 commit comments