Path to this page:
Subject: CVS commit: pkgsrc/devel/py-test-xdist
From: Adam Ciarcinski
Date: 2022-10-31 13:32:31
Message id: 20221031123231.40EF3FA90@cvs.NetBSD.org
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``.
Files: