Path to this page:
./
devel/py-test-xdist,
Plugin for distributed testing and loop-on-failing modes
Branch: CURRENT,
Version: 3.6.1,
Package name: py312-test-xdist-3.6.1,
Maintainer: pkgsrc-usersThe 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.
Required to run:[
devel/py-setuptools] [
devel/py-test] [
lang/py-six] [
devel/py-execnet] [
devel/py-test-forked] [
lang/python37]
Required to build:[
pkgtools/cwrappers] [
devel/py-setuptools_scm]
Master sites:
Filesize: 82.09 KB
Version history: (Expand)
- (2024-11-11) Updated to version: py312-test-xdist-3.6.1
- (2024-04-30) Updated to version: py311-test-xdist-3.6.1
- (2023-11-21) Updated to version: py311-test-xdist-3.5.0
- (2023-11-16) Updated to version: py311-test-xdist-3.4.0
- (2023-10-28) Updated to version: py311-test-xdist-3.3.1nb1
- (2023-05-24) Updated to version: py310-test-xdist-3.3.1
CVS history: (Expand)
2023-11-21 21:37:43 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-test-xdist: updated to 3.5.0
pytest-xdist 3.5.0 (2023-11-21)
Features
- ``--dist=loadscope`` now sorts scopes by number of tests to assign largest \
scopes early -- in many cases this should improve overall test session running \
time, as there is less chance of a large scope being left to be processed near \
the end of the session, leaving other workers idle.
|
2023-11-16 10:24:03 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-test-xdist: updated to 3.4.0
pytest-xdist 3.4.0 (2023-11-11)
Features
- Wait for workers to finish reporting when test run stops early.
This makes sure that the results of in-progress tests are displayed.
Previously these reports were being discarded, losing information about the
test run.
- Added support for Python 3.12.
|
2023-10-28 21:57:26 by Thomas Klausner | Files touched by this commit (516) | |
Log message:
python/wheel.mk: simplify a lot, and switch to 'installer' for installation
This follows the recommended bootstrap method (flit_core, build, installer).
However, installer installs different files than pip, so update PLISTs
for all packages using wheel.mk and bump their PKGREVISIONs.
|
2023-05-24 08:53:06 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-test-xdist: updated to 3.3.1
pytest-xdist 3.3.1 (2023-05-19)
Bug Fixes
- Avoid remote calls during startup as ``execnet`` by default does not ensure \
remote affinity with the
main thread and might accidentally schedule the pytest worker into a non-main \
thread, which breaks numerous frameworks,
for example ``asyncio``, ``anyio``, ``PyQt/PySide``, etc.
A more safe correction will require thread affinity in ``execnet``
pytest-xdist 3.3.0 (2023-05-12)
Features
- Improved progress output when collecting nodes to be less verbose.
|
2023-03-13 09:45:46 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-test-xdist: updated to 3.2.1
pytest-xdist 3.2.1
Fixed hang in ``worksteal`` scheduler.
|
2023-02-20 19:00:36 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-test-xdist: updated to 3.2.0
pytest-xdist 3.2.0 (2023-02-07)
Improved Documentation
Document limitations for debugging due to standard I/O of workers not being \
forwarded. Also, mention remote debugging as a possible workaround.
Features
Users can now configure load scheduling precision using --maxschedchunk command \
line option.
New worksteal scheduler, based on the idea of work stealing. It's similar to \
load scheduler, but it should handle tests with significantly differing duration \
better, and, at the same time, it should provide similar or better reuse of \
fixtures.
Trivial Changes
Make the tests pass even when $PYTEST_XDIST_AUTO_NUM_WORKERS is set.
|
2022-12-12 11:09:32 by Adam Ciarcinski | Files touched by this commit (2) | |
Log message:
py-test-xdist: updated to 3.1.0
pytest-xdist 3.1.0 (2022-12-01)
===============================
Features
--------
- Users can now set a default distribution mode in their configuration file:
.. code-block:: ini
[pytest]
addopts = --dist loadscope
- Python 3.11 is now officially supported.
Removals
--------
- Python 3.6 is no longer supported.
|
2022-10-31 13:32:31 by Adam Ciarcinski | Files touched by this commit (3) | |
Log message:
py-test-xdist: updated to 3.0.2
pytest-xdist 3.0.2 (2022-10-25)
===============================
Bug Fixes
---------
- Cancel shutdown when a crashed worker is restarted.
Deprecations
------------
- The ``--rsyncdir`` command line argument and ``rsyncdirs`` config variable are \
deprecated.
The rsync feature will be removed in pytest-xdist 4.0.
- 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
----------------------
- Document the ``pytest_xdist_auto_num_workers`` hook.
- Added known limitations section to documentation.
- Document the ``-n logical`` option.
Features
--------
- The environment variable ``PYTEST_XDIST_AUTO_NUM_WORKERS`` can now be used to
specify the default for ``-n auto`` and ``-n logical``.
- 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
--------
- The ``--boxed`` command-line option has been removed. If you still need this \
functionality, install `pytest-forked \
<https://pypi.org/project/pytest-forked>`__ separately.
Trivial Changes
---------------
- The ``py`` dependency has been dropped.
- Replace internal usage of ``py.log`` with a custom solution (but with the same \
interface).
- Remove usage of ``py._pydir`` as an rsync candidate.
- Replace internal usages of ``py.path.local`` by ``pathlib.Path``.
|