Skip to main content

Run some Tox tests after others have completed

Project description

tox-delay - run some Tox tests after others have completed

The tox-delay tool postpones the run of the specified Tox environments after the run of all the others has completed successfully. This may be useful if e.g. there are unit or functional test environments, which it would make no sense to run if the static checkers (pylint, mypy, etc) find problems.

Using tox-delay

The mandatory -e envlist parameter to tox-delay specifies the comma-separated list of environment names to delay. The tool runs Tox, instructing it to skip these specific environments, and if the run is successful, tox-delay then runs Tox again only for the specified ones.

For example, if a tox.ini file declares the black, pep8, mypy, pylint, unit-tests, and functional environments, the following invocation:

tox-delay -e unit-tests,functional

...would result in Tox running the black, pep8, mypy, and pylint environments and, if this is successful, a second Tox run for unit-tests and functional.

Any positional arguments to tox-delay are passed along to Tox for both runs. This allows both specifying more Tox options (--workdir, --skip-missing-interpreters, etc) and specifying more positional arguments to be expanded using the {posargs} setting in tox.ini. Thus, the -k all arguments in the following invocation will be used as {posargs}, maybe for pytest or something similar:

tox-delay -e unit-tests,functional -- --workdir /tmp/tox -- -k all

The -p command-line option, along with its argument, is passed on to Tox only for the first run. Thus, the following invocation would run the black, pep8, mypy, and pylint environments in parallel and then run the unit-tests and functional ones sequentially:

tox-delay -p all -e unit-tests,functional

If the second run should also be done in parallel, this may be achieved by passing -p all once again, but this time in the "general Tox options" section as described above:

tox-delay -p all -e unit-tests,functional -- -p all

Querying the command-line tool for supported features

All the tox-delay implementations support the --features command-line option to output a single line of text in a format that can be parsed using the feature-check tool.

Program version (tox-delay)

The version advertised for this feature is the tox-delay program's version number, the same as in the --version output.

Ignore some Tox environments (ignore)

The only version advertised so far is 1.0: support the -i envlist (or, if the longopts feature is at version 1.0 or above, also --ignore envlist) command-line option to specify a comma-separated list of environment name substrings. Any Tox environments with names that match the values on this list will not be invoked at any stage.

Long options support (longopts)

  • 0.1: limited support for long command-line options, only --help, --version, and --features are recognized
  • 1.0: other long options are also recognized, depending on the version of the tox-delay tool (reported via the tox-delay feature's version):
    • 0.1.2 or higher: --ignore envlist, --parallel envlist

Run first-stage test environments in parallel (parallel)

The only version advertised so far is 1.0: support the -p envlist (or, if the longopts feature is at version 1.0 or above, also --parallel envlist) command-line option to specify a comma-separated list of environment name substrings or the special value "all". This option will be passed to Tox in the first stage, so that some (or all) of the validation checks (in the standard use case of tox-delay) will be run in parallel.

Contact

For comments and suggestions, please contact Peter Pentchev.

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

tox-delay-0.1.3.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

tox_delay-0.1.3-py3-none-any.whl (5.3 kB view details)

Uploaded Python 3

File details

Details for the file tox-delay-0.1.3.tar.gz.

File metadata

  • Download URL: tox-delay-0.1.3.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for tox-delay-0.1.3.tar.gz
Algorithm Hash digest
SHA256 302ca0634459a9bdb46de712386d17da1a4ad6764e8d85aa3e9482db985fbe78
MD5 cb9f0fd90def7eda3118d634cf7177b9
BLAKE2b-256 8685f074539130ded0bd10453bcf20ec25ddca16d9dab90caf433b0e8e17ba56

See more details on using hashes here.

File details

Details for the file tox_delay-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: tox_delay-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.7

File hashes

Hashes for tox_delay-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 f501d92673af3e10930fe2965c3a8dae130b0d97151c7e0b21292cbca80ceabc
MD5 c44290c10ce6824934e25e77e0bf98f5
BLAKE2b-256 24ee9dd2ccc03bd1f0908b08eb6e443020d3f6ce7f19bf808416568b4d9f1ca4

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