Skip to main content

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"]

Author

The test-stages library is developed by Peter Pentchev in a GitLab repository.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

test_stages-0.2.0.tar.gz (25.3 kB view details)

Uploaded Source

Built Distribution

test_stages-0.2.0-py3-none-any.whl (10.9 kB view details)

Uploaded Python 3

File details

Details for the file test_stages-0.2.0.tar.gz.

File metadata

  • Download URL: test_stages-0.2.0.tar.gz
  • Upload date:
  • Size: 25.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for test_stages-0.2.0.tar.gz
Algorithm Hash digest
SHA256 370fb9e7d9094a16a54fe085f1c2015c8db73feffe7233ac4b385b31acf82bdc
MD5 c5903a1858b85c0c0b91ea3b2b09d647
BLAKE2b-256 102776f1d857a5f29200b8f25791236d225d8412eea1c51a2785b7dbc013c282

See more details on using hashes here.

File details

Details for the file test_stages-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: test_stages-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 10.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for test_stages-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf1ea3817586b49b1e487d181b1d5c51bb8ba99e86c25be8b242284c87e6d316
MD5 aea626d7186dfc8bca9014ac5c699839
BLAKE2b-256 91662f52a4491e484e5a12336bcdab0ea97213d5836eef797372c5b87ded943e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page