runs tests in an order such that coverage increases as fast as possible
Project description
pytest_pitch
pytest_pitch
runs tests in an order such that coverage increases as fast as possible. Typically 99% of the total coverage is achieved in 10% of the test session time.
use as pytest plugin for faster coverage increase
First create persistent time-coverage record via pytest-donde
python -m pytest [YOUR SESSION ARGS] --donde=/path/to/src
where /path/to/src
is the code region to cover.
Then pass the record file to the plugin via
python -m pytest [YOUR SESSION ARGS] --pitch
If You change your test definitions or test selection [YOUR SESSION ARGS]
in step 2 without updating the record:
- tests which are unknown to step 1 (e.g. newly defined tests, less strict test selection) will be put to the start of the execution order
- tests which are known to step 1 but missing in step 2 (e.g. removed tests, stricter test selection) will just be filtered out. Any selection mechanisms should not conflict with the reordering.
use in your script
See this script as a demo which was used to create the image shown above.
background
The plugin employs Algorithm 1 from p. 3 of S. Khuller, A. Moss, J. Naor, The budgeted maximum coverage problem, Inf. Process. Lett. 70, 1999.
install
python -m pip install pytest_pitch
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
File details
Details for the file pytest_pitch-1.0.5.tar.gz
.
File metadata
- Download URL: pytest_pitch-1.0.5.tar.gz
- Upload date:
- Size: 8.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9592b0d634d2ebd5a75b605d9191b03dd20aaf6f48d931f087a6e89765d8718c |
|
MD5 | 0e048a3fbe4f08f383aa34439914f135 |
|
BLAKE2b-256 | 09988b993bac3e0f12b8b7d10ae4378d56399a5f6b00119010577a1c800d72eb |
File details
Details for the file pytest_pitch-1.0.5-py3-none-any.whl
.
File metadata
- Download URL: pytest_pitch-1.0.5-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.13
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaf6df306b02cb095b46e5b6719f8c28ffcbecef7d9cfc40ebbd569a7dd1e041 |
|
MD5 | 5fbdd77344919f594176a42b48d6e3be |
|
BLAKE2b-256 | 555cf31dfcb414a9aa3b2f6d66b5371413f12125ea62d119ac2396a49b6c6ada |