Skip to main content

A pytest plugin for ensuring max suite time

Project description


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 --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.


From PyPI:

$ pip install pytest-suite-timeout


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.


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.


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


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



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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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