No project description provided
Project description
pytest-isolate
Isolate each test in a subprocess - pytest forked replacement, based on pytest-forked.
This pytest plugin was generated with Cookiecutter along with @hackebrot
's cookiecutter-pytest-plugin
template.
Features
- Run each test in an forked, isolated subprocess
- Captures stdout & stderr of crashing processes
- Add Timeout to a forked test
- Limit memory used by test
- Plays nice with pytest-xdist
- Shows warnings, even with xdist!
Requirements
- pytest
Installation
You can install "pytest-isolate" via pip
from PyPI
pip install pytest-isolate
Usage
pytest --isolate
To run every test in its own forked subprocess.
Or:
pytest --isolate-timeout 10 --isolate-mem-limit 1000000
To set a timeout to every test in addition to forking.
Note:
Since this plugin uses
fork
, it will not work on operating systems withoutfork
support (e.g. Windows).
The flags --timeout
or --forked
will also be respected such that pytest-isolate
is a drop-in replacement forked pytest forked and pytest timeout.
If pytest-forked
or pytest-timeout
are installed, then
they will take precedence. Uninstall them to use pytest-isolate
.
Unlike pytest-timeout
, timeout in pytest-isolate
is implemented by forking the test to a separate subprocess, and setting timeout for that subprocess.
You can also use a mark to isolate or time limit the memory test:
@pytest.mark.isolate(timeout=10,mem_limit=10**6)
def test_something():
pass
The options can also be set in an pytest configuration file, e.g:
[tool.pytest.ini_options]
isolate_timeout=10
isolate_mem_limit=1000000
Contributing
Contributions are very welcome. Tests can be run with tox
, please ensure
the coverage at least stays the same before you submit a pull request.
License
Distributed under the terms of the MIT
, pytest-isolate
is free and open source software
Issues
If you encounter any problems, please file an issue along with a detailed description.
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
Hashes for pytest_isolate-0.0.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 64e262b4f7da05c81f09f126ee321a95bdac207d2bd8a1ab0b58c305038fc068 |
|
MD5 | 7393c9c5be70d16ed02a561eaf90941f |
|
BLAKE2b-256 | 7d0e137a854e7e664f3d081964727abc4dda5002cd0fa814f692382a663bf33e |