Skip to content

Commit 1396815

Browse files
committed
Optimize tests: run pytest under xdist all at once, separately from other tasks; flake8 -j1
1 parent 3a64f7f commit 1396815

File tree

1 file changed

+7
-6
lines changed

1 file changed

+7
-6
lines changed

runtests.py

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ def __init__(self, whitelist: List[str], blacklist: List[str],
5151
self.pyt_arglist = pyt_arglist
5252
self.verbosity = verbosity
5353
self.waiter = Waiter(verbosity=verbosity, limit=parallel_limit, xfail=xfail)
54+
self.sequential = Waiter(verbosity=verbosity, limit=1, xfail=xfail)
5455
self.versions = get_versions()
5556
self.cwd = os.getcwd()
5657
self.mypy = os.path.join(self.cwd, 'scripts', 'mypy')
@@ -109,7 +110,7 @@ def add_pytest(self, name: str, pytest_args: List[str], coverage: bool = False)
109110
else:
110111
args = [sys.executable, '-m', 'pytest'] + pytest_args
111112

112-
self.waiter.add(LazySubprocess(full_name, args, env=self.env))
113+
self.sequential.add(LazySubprocess(full_name, args, env=self.env))
113114

114115
def add_python(self, name: str, *args: str, cwd: Optional[str] = None) -> None:
115116
name = 'run %s' % name
@@ -157,12 +158,13 @@ def add_flake8(self, cwd: Optional[str] = None) -> None:
157158
name = 'lint'
158159
if not self.allow(name):
159160
return
160-
largs = ['flake8', '-j{}'.format(self.waiter.limit)]
161+
largs = ['flake8', '-j1']
161162
env = self.env
162163
self.waiter.add(LazySubprocess(name, largs, cwd=cwd, env=env))
163164

164165
def list_tasks(self) -> None:
165-
for id, task in enumerate(self.waiter.queue):
166+
for id, task in enumerate(itertools.chain(self.sequential.queue,
167+
self.waiter.queue)):
166168
print('{id}:{task}'.format(id=id, task=task.name))
167169

168170

@@ -211,8 +213,7 @@ def add_imports(driver: Driver) -> None:
211213

212214

213215
def add_pytest(driver: Driver) -> None:
214-
for f in PYTEST_FILES:
215-
driver.add_pytest(f, [f] + driver.arglist + driver.pyt_arglist, True)
216+
driver.add_pytest('pytest', PYTEST_FILES + driver.arglist + driver.pyt_arglist, True)
216217

217218

218219
def add_myunit(driver: Driver) -> None:
@@ -423,7 +424,7 @@ def main() -> None:
423424
driver.list_tasks()
424425
return
425426

426-
exit_code = driver.waiter.run()
427+
exit_code = driver.sequential.run() & driver.waiter.run()
427428
t1 = time.perf_counter()
428429
print('total runtime:', t1 - t0, 'sec')
429430

0 commit comments

Comments
 (0)