Skip to main content

A pytest plugin for ensuring max suite time

Project description

pytest-suite-timeout

A pytest plugin for ensuring max suite time.

Really though, it's: if the timeout expires, no new tests are started.


A use case

Works great in conjunction with pytest-repeat.

Say your debugging a flaky test and just want to run it a bunch of times, but not longer than say 10 minutes (600 seconds).

After installing both pytest-repeat and pytest-suite-timeout you can say:

$ pytest test_something.py::test_func --count=1000 --suite-timeout=600

That will run a test 1000 times, if that's less than 600 seconds. If it takes longer than 600 seconds, it will stop running new tests after 600 seconds.

Installation

From PyPI:

$ pip install pytest-suite-timeout

Usage

Specify the max suite time with --suite-timeout, in seconds (float).

Example of max 90 seconds:

$ pytest --suite-timeout=90

Defaults to no timeout

If you don't pass in --suite-timeout, nothing happens.

Timeout behavior

Timeout is done between tests. If a timeout is noticed, pytest.exit() is called, stopping all further testing.

Contributing

Contributions are welcome. Tests can be run with tox. Test coverage is now 100%. Please make sure to keep it at 100%. If you have an awesome pull request and need help with getting coverage back up, let me know.

License

Distributed under the terms of the MIT license, "pytest-suite-timeout" is free and open source software

Issues

If you encounter any problems, please file an issue along with a detailed description.

Changelog

See changelog.md

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

pytest_suite_timeout-0.1.0.tar.gz (5.5 kB view details)

Uploaded Source

Built Distribution

pytest_suite_timeout-0.1.0-py3-none-any.whl (3.8 kB view details)

Uploaded Python 3

File details

Details for the file pytest_suite_timeout-0.1.0.tar.gz.

File metadata

  • Download URL: pytest_suite_timeout-0.1.0.tar.gz
  • Upload date:
  • Size: 5.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.31.0

File hashes

Hashes for pytest_suite_timeout-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2f536ed8906f0b159c5f20e58714180536fb9a9f786e5f6dfb148a54b0b543c4
MD5 3b1033ea1905ac94ad9fe52bca3e6b4e
BLAKE2b-256 93e86d879dcad2e9b937c3694adf1cea0df3c646d9bc16d1a5088c937685d84b

See more details on using hashes here.

File details

Details for the file pytest_suite_timeout-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for pytest_suite_timeout-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cb79bea59edbe36164cd6e09f124fda623ce2d97b71b2853c84f07ee1ba76228
MD5 f8e551d14946c96a46db97e2e36c0b6e
BLAKE2b-256 9388870b44fb8ccb2b63fd9b48b65eec557546eeb644b7d8bc860c3d77038cae

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