Skip to content

Commit 1a35575

Browse files
noxfile: Add additional args, support no-parallel
- Pass positional arguments to pytest - --no-parallel makes tests not run in parallel - manually handle -n and add maxschedchunk
1 parent f2986c8 commit 1a35575

1 file changed

Lines changed: 21 additions & 4 deletions

File tree

noxfile.py

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import argparse
2+
13
import nox
24

35
nox.options.default_venv_backend = "uv"
@@ -7,6 +9,24 @@
79

810
@nox.session(name="tests", python=python_versions, reuse_venv=True)
911
def tests(session: nox.Session) -> None:
12+
# Define only custom flags
13+
parser = argparse.ArgumentParser(add_help=False)
14+
parser.add_argument("--no-parallel", action="store_true")
15+
parser.add_argument(
16+
"-n", "--workers", "--numprocesses"
17+
) # e.g., -n 4 to set workers
18+
custom, remaining = parser.parse_known_args(session.posargs)
19+
20+
pytest_args = list(remaining)
21+
22+
# Default to parallel unless disabled or overridden
23+
if custom.no_parallel:
24+
pass
25+
elif custom.workers:
26+
pytest_args[:0] = ["-n", custom.workers, "--maxschedchunk", "2"]
27+
else:
28+
pytest_args[:0] = ["-n", "8", "--maxschedchunk", "2"]
29+
1030
session.run_install(
1131
"uv",
1232
"sync",
@@ -20,8 +40,5 @@ def tests(session: nox.Session) -> None:
2040
"pytest",
2141
"--cov=pdfrest",
2242
"--cov-report=term-missing",
23-
"--numprocesses",
24-
"8",
25-
"--maxschedchunk",
26-
"2",
43+
*pytest_args,
2744
)

0 commit comments

Comments
 (0)