Group Tox, Nox, etc environments into stages, run them in parallel
Project description
Run Tox tests in groups, stopping on errors
The test-stages
library provides command-line tools that wrap
Python test environment runners such as Tox or Nox,
invoking them so as the various tests are run in parallel, in groups,
as specified on the command line. This allows the fastest tests to be run
first, and the slower ones to only be started if it makes sense (e.g. if
tools like ruff or flake8 did not uncover any trivial syntax errors).
The tox-stages
tool runs Tox with the specified groups of test
environments, stopping if any of the tests in a group should fail.
This allows quick static check tools like e.g. ruff
to stop
the testing process early, and also allows scenarios like running
all the static check tools before the package's unit or functional
tests to avoid unnecessary failures on simple errors.
The syntax for grouping the test environments to be run is described in the parse-stages library's documentation.
Running Tox tests in groups
The tox-stages
tool may be invoked with a list of stages specified on
the command line:
tox-stages run @check @tests
If the tox-stages run
command is invoked without any stage specifications,
the tool looks for the stages
list of strings in the [tool.test-stages]
section of the pyproject.toml
file:
[tool.test-stages]
stages = ["ruff and not @manual", "@check", "@tests"]
Note that the tox-stages
tool only supports Tox version 3 for the present.
Author
The test-stages
library is developed by Peter Pentchev in
a GitLab repository.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for test_stages-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 964fa38e4e3f6105c061d7936927c05e568b6cf6595c550f32b97272a6a47d70 |
|
MD5 | 2dcff9720599de9cf1633e64e0fb77d9 |
|
BLAKE2b-256 | 4690e331d3be88a475a0c703932367ffd59b4a2033bd874ae17015ea4b07813b |