Pytest Plugin for Distributed Testing and Loop-on-Failing Modes
The `pytest-xdist`_ plugin extends py.test with some unique
test execution modes:
* test run parallelization_: if you have multiple CPUs or hosts you can use
those for a combined test run. This allows to speed up
development or to use special resources of `remote machines`_.
* ``--boxed``: (not available on Windows) run each test in a boxed_
subprocess to survive ``SEGFAULTS`` or otherwise dying processes
* ``--looponfail``: run your tests repeatedly in a subprocess. After each run
py.test waits until a file in your project changes and then re-runs
the previously failing tests. This is repeated until all tests pass
after which again a full run is performed.
* `Multi-Platform`_ coverage: you can specify different Python interpreters
or different platforms and run tests in parallel on all of them.
Before running tests remotely, ``py.test`` efficiently "rsyncs" your
program source code to the remote place. All test results
are reported back and displayed to your local terminal.
You may specify different Python versions and interpreters.
- Developed at devel:languages:python:pytest
- Sources inherited from project openSUSE:Factory
-
9
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Factory:PowerPC/python-pytest-xdist && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
pytest-xdist-3.0.2.tar.gz | 0000069590 68 KB | |
python-pytest-xdist.changes | 0000019473 19 KB | |
python-pytest-xdist.spec | 0000003084 3.01 KB |
Revision 19 (latest revision is 25)
- Remove python_module macro definition - Use autosetup instead of setup + autopatch - Remove reintroduce-slave-terminology.patch - Remove 0001-Revert-Remove-compat-for-pytest-6.patch - Update to 3.0.2: # Bug Fixes * #813: Cancel shutdown when a crashed worker is restarted. # Deprecations * #825: The --rsyncdir command line argument and rsyncdirs config variable are deprecated. * The rsync feature will be removed in pytest-xdist 4.0. * #826: The --looponfail command line argument and looponfailroots config variable are deprecated. * The loop-on-fail feature will be removed in pytest-xdist 4.0. # Improved Documentation * #791: Document the pytest_xdist_auto_num_workers hook. * #796: Added known limitations section to documentation. * #829: Document the -n logical option. # Features * #792: The environment variable PYTEST_XDIST_AUTO_NUM_WORKERS can now be used to specify the default for -n auto and -n logical. * #812: Partially restore old initial batch distribution algorithm in LoadScheduling. * pytest orders tests for optimal sequential execution - i. e. avoiding unnecessary setup and teardown of fixtures. So executing tests in consecutive chunks is important for optimal performance. * In v1.14, initial test distribution in LoadScheduling was changed to round-robin, optimized for the corner case, when the number of tests is less than 2 * number of nodes. At the same time, it became worse for all other cases. * For example: if some tests use some "heavy" fixture, and these tests fit into the initial batch, with round-robin distribution the fixture will be created min(n_tests, n_workers) times, no matter how many other tests there are. * With the old algorithm (before v1.14), if there are enough tests not using the fixture, the fixture was created only once. * So restore the old behavior for typical cases where the number of tests is much greater than the number of workers (or, strictly speaking, when there are at least 2 tests for every node). # Removals * #468: The --boxed command-line option has been removed. If you still need this functionality, install pytest-forked separately. # Trivial Changes * #468: The py dependency has been dropped. * #822: Replace internal usage of py.log with a custom solution (but with the same interface). * #823: Remove usage of py._pydir as an rsync candidate. * #824: Replace internal usages of py.path.local by pathlib.Path.
Comments 0