|
17 | 17 | MYPYC_RUN_MULTI = "TestRunMultiFile" |
18 | 18 | MYPYC_EXTERNAL = "TestExternal" |
19 | 19 | MYPYC_COMMAND_LINE = "TestCommandLine" |
| 20 | +MYPYC_SEPARATE = "TestRunSeparate" |
| 21 | +MYPYC_MULTIMODULE = "multimodule" # Subset of mypyc run tests that are slow |
20 | 22 | ERROR_STREAM = "ErrorStreamSuite" |
21 | 23 |
|
22 | 24 |
|
|
31 | 33 | MYPYC_RUN_MULTI, |
32 | 34 | MYPYC_EXTERNAL, |
33 | 35 | MYPYC_COMMAND_LINE, |
| 36 | + MYPYC_SEPARATE, |
34 | 37 | ERROR_STREAM, |
35 | 38 | ] |
36 | 39 |
|
|
40 | 43 |
|
41 | 44 |
|
42 | 45 | # These must be enabled by explicitly including 'mypyc-extra' on the command line. |
43 | | -MYPYC_OPT_IN = [MYPYC_RUN, MYPYC_RUN_MULTI] |
| 46 | +MYPYC_OPT_IN = [MYPYC_RUN, MYPYC_RUN_MULTI, MYPYC_SEPARATE] |
| 47 | + |
| 48 | +# These mypyc test filters cover most slow test cases |
| 49 | +MYPYC_SLOW = [MYPYC_RUN_MULTI, MYPYC_COMMAND_LINE, MYPYC_SEPARATE, MYPYC_MULTIMODULE] |
44 | 50 |
|
45 | 51 |
|
46 | 52 | # We split the pytest run into three parts to improve test |
|
77 | 83 | "-k", |
78 | 84 | " or ".join([DAEMON, MYPYC_EXTERNAL, MYPYC_COMMAND_LINE, ERROR_STREAM]), |
79 | 85 | ], |
| 86 | + "mypyc-fast": ["pytest", "-q", "mypyc", "-k", f"not ({' or '.join(MYPYC_SLOW)})"], |
80 | 87 | # Test cases that might take minutes to run |
81 | 88 | "pytest-extra": ["pytest", "-q", "-k", " or ".join(PYTEST_OPT_IN)], |
82 | 89 | # Mypyc tests that aren't run by default, since they are slow and rarely |
|
87 | 94 | # Stop run immediately if these commands fail |
88 | 95 | FAST_FAIL = ["self", "lint"] |
89 | 96 |
|
90 | | -EXTRA_COMMANDS = ("pytest-extra", "mypyc-extra") |
| 97 | +EXTRA_COMMANDS = ("pytest-extra", "mypyc-fast", "mypyc-extra") |
91 | 98 | DEFAULT_COMMANDS = [cmd for cmd in cmds if cmd not in EXTRA_COMMANDS] |
92 | 99 |
|
93 | 100 | assert all(cmd in cmds for cmd in FAST_FAIL) |
|
0 commit comments