Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update pytest-xdist to 3.6.1 #868

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR updates pytest-xdist from 1.15.0 to 3.6.1.

Changelog

3.6.1

===============================

Bug Fixes
---------

- `1071 <https://github.com/pytest-dev/pytest-xdist/issues/1071>`_: Add backward compatibility for deadlock issue with the ``execnet`` new ``main_thread_only`` "execmodel" triggered when pytest-cov accesses rinfo.

3.6.0

===============================

This release was YANKED due to a regression fixed in 3.6.1.

Features
--------

- `1027 <https://github.com/pytest-dev/pytest-xdist/pull/1027>`_:``pytest-xdist`` workers now always execute the tests in the main thread.
Previously some tests might end up executing in a separate thread other than ``main`` in the workers, due to some internal `execnet`` details. This can cause problems specially with async frameworks where the event loop is running in the ``main`` thread (for example `620 <https://github.com/pytest-dev/pytest-xdist/issues/620>`__).

Bug Fixes
---------

- `1024 <https://github.com/pytest-dev/pytest-xdist/issues/1024>`_: Added proper handling of ``shouldstop`` (such as set by ``--max-fail``) and ``shouldfail`` conditions in workers.
Previously, a worker might have continued executing further tests before the controller could terminate the session.

- `1028 <https://github.com/pytest-dev/pytest-xdist/issues/1028>`_: Fixed compatibility issue between `looponfail` and editable installs.

- `620 <https://github.com/pytest-dev/pytest-xdist/issues/620>`_: Use the new ``main_thread_only`` ``execnet`` "execmodel" so that code which expects to only run in the main thread will now work as expected.

- `937 <https://github.com/pytest-dev/pytest-xdist/issues/937>`_: Fixed a bug where plugin would raise an incompatibility error with ``--pdb`` despite using ``-n0``.


Removals
--------

- `1053 <https://github.com/pytest-dev/pytest-xdist/issues/1053>`_: Dropped support for Python 3.7.

- `1057 <https://github.com/pytest-dev/pytest-xdist/issues/1057>`_: pytest>=7.0.0 is now required.

execnet>=2.1.0 is now required.


Trivial Changes
---------------

- `1020 <https://github.com/pytest-dev/pytest-xdist/issues/1020>`_: pytest-xdist's ``setup.py`` file is removed.

If you relied on this file, e.g. to install pytest using ``setup.py install``,
please see `Why you shouldn't invoke setup.py directly <https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html#summary>`_ for alternatives.

- `1057 <https://github.com/pytest-dev/pytest-xdist/issues/1057>`_: The internals of pytest-xdist are now fully typed. The typing is not exposed yet.

- `996 <https://github.com/pytest-dev/pytest-xdist/issues/996>`_: Adjusted license file format and content to ensure security scanners will identity the license.

3.5.0

===============================

Features
--------

- `632 <https://github.com/pytest-dev/pytest-xdist/issues/632>`_: ``--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.

3.4.0

===============================

Features
--------

- `963 <https://github.com/pytest-dev/pytest-xdist/issues/963>`_: 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.

- `965 <https://github.com/pytest-dev/pytest-xdist/issues/965>`_: Added support for Python 3.12.

3.3.1

===============================

Bug Fixes
---------

- `907 <https://github.com/pytest-dev/pytest-xdist/issues/907>`_: 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-dev/execnet96 <https://github.com/pytest-dev/execnet/issues/96>`__).

3.3.0

===============================

Features
--------

- `555 <https://github.com/pytest-dev/pytest-xdist/issues/555>`_: Improved progress output when collecting nodes to be less verbose.

3.2.1

===============================

Bug Fixes
---------

- `884 <https://github.com/pytest-dev/pytest-xdist/issues/884>`_: Fixed hang in ``worksteal`` scheduler.

3.2.0

===============================

Improved Documentation
----------------------

- `863 <https://github.com/pytest-dev/pytest-xdist/issues/863>`_: Document limitations for debugging due to standard I/O of workers not being forwarded. Also, mention remote debugging as a possible workaround.


Features
--------

- `855 <https://github.com/pytest-dev/pytest-xdist/issues/855>`_: Users can now configure ``load`` scheduling precision using ``--maxschedchunk`` command
line option.

- `858 <https://github.com/pytest-dev/pytest-xdist/issues/858>`_: New ``worksteal`` scheduler, based on the idea of `work stealing <https://en.wikipedia.org/wiki/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
---------------

- `870 <https://github.com/pytest-dev/pytest-xdist/issues/870>`_: Make the tests pass even when ``$PYTEST_XDIST_AUTO_NUM_WORKERS`` is set.

3.1.0

===============================

Features
--------

- `789 <https://github.com/pytest-dev/pytest-xdist/issues/789>`_: Users can now set a default distribution mode in their configuration file:

.. code-block:: ini

   [pytest]
   addopts = --dist loadscope

- `842 <https://github.com/pytest-dev/pytest-xdist/issues/842>`_: Python 3.11 is now officially supported.


Removals
--------

- `842 <https://github.com/pytest-dev/pytest-xdist/issues/842>`_: Python 3.6 is no longer supported.

3.0.2

===============================

Bug Fixes
---------

- `813 <https://github.com/pytest-dev/pytest-xdist/issues/813>`_: Cancel shutdown when a crashed worker is restarted.


Deprecations
------------

- `825 <https://github.com/pytest-dev/pytest-xdist/issues/825>`_: The ``--rsyncdir`` command line argument and ``rsyncdirs`` config variable are deprecated.

The rsync feature will be removed in pytest-xdist 4.0.

- `826 <https://github.com/pytest-dev/pytest-xdist/issues/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 <https://github.com/pytest-dev/pytest-xdist/issues/791>`_: Document the ``pytest_xdist_auto_num_workers`` hook.

- `796 <https://github.com/pytest-dev/pytest-xdist/issues/796>`_: Added known limitations section to documentation.

- `829 <https://github.com/pytest-dev/pytest-xdist/issues/829>`_: Document the ``-n logical`` option.


Features
--------

- `792 <https://github.com/pytest-dev/pytest-xdist/issues/792>`_: The environment variable ``PYTEST_XDIST_AUTO_NUM_WORKERS`` can now be used to
specify the default for ``-n auto`` and ``-n logical``.

- `812 <https://github.com/pytest-dev/pytest-xdist/issues/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 <https://github.com/pytest-dev/pytest-xdist/issues/468>`_: 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
---------------

- `468 <https://github.com/pytest-dev/pytest-xdist/issues/468>`_: The ``py`` dependency has been dropped.

- `822 <https://github.com/pytest-dev/pytest-xdist/issues/822>`_: Replace internal usage of ``py.log`` with a custom solution (but with the same interface).

- `823 <https://github.com/pytest-dev/pytest-xdist/issues/823>`_: Remove usage of ``py._pydir`` as an rsync candidate.

- `824 <https://github.com/pytest-dev/pytest-xdist/issues/824>`_: Replace internal usages of ``py.path.local`` by ``pathlib.Path``.

2.5.0

===============================

Deprecations and Removals
-------------------------

- `468 <https://github.com/pytest-dev/pytest-xdist/issues/468>`_: The ``--boxed`` command line argument is deprecated. Install `pytest-forked <https://pypi.org/project/pytest-forked>`__ and use ``--forked`` instead. pytest-xdist 3.0.0 will remove the ``--boxed`` argument and ``pytest-forked`` dependency.


Features
--------

- `722 <https://github.com/pytest-dev/pytest-xdist/issues/722>`_: Full compatibility with pytest 7 - no deprecation warnings or use of legacy features.

- `733 <https://github.com/pytest-dev/pytest-xdist/issues/733>`_: New ``--dist=loadgroup`` option, which ensures all tests marked with ``pytest.mark.xdist_group`` run in the same session/worker. Other tests run distributed as in ``--dist=load``.


Trivial Changes
---------------

- `708 <https://github.com/pytest-dev/pytest-xdist/issues/708>`_: Use ``pytest.hookspec`` decorator to declare hook options in ``newhooks.py`` to avoid warnings in ``pytest 7.0``.

- `719 <https://github.com/pytest-dev/pytest-xdist/issues/719>`_: Use up-to-date ``setup.cfg``/``pyproject.toml`` packaging setup.

- `720 <https://github.com/pytest-dev/pytest-xdist/issues/720>`_: Require pytest>=6.2.0.

- `721 <https://github.com/pytest-dev/pytest-xdist/issues/721>`_: Started using type annotations and mypy checking internally. The types are incomplete and not published.

2.4.0

===============================

Features
--------

- `696 <https://github.com/pytest-dev/pytest-xdist/issues/696>`_: On Linux, the process title now changes to indicate the current worker state (running/idle).

Depends on the `setproctitle <https://pypi.org/project/setproctitle/>`__ package, which can be installed with ``pip install pytest-xdist[setproctitle]``.

- `704 <https://github.com/pytest-dev/pytest-xdist/issues/704>`_: Add support for Python 3.10.

2.3.0

===============================

Deprecations and Removals
-------------------------

- `654 <https://github.com/pytest-dev/pytest-xdist/issues/654>`_: Python 3.5 is no longer supported.


Features
--------

- `646 <https://github.com/pytest-dev/pytest-xdist/issues/646>`_: Add ``--numprocesses=logical`` flag, which automatically uses the number of logical CPUs available, instead of physical CPUs with ``auto``.

This is very useful for test suites which are not CPU-bound.

- `650 <https://github.com/pytest-dev/pytest-xdist/issues/650>`_: Added new ``pytest_handlecrashitem`` hook to allow handling and rescheduling crashed items.


Bug Fixes
---------

- `421 <https://github.com/pytest-dev/pytest-xdist/issues/421>`_: Copy the parent process sys.path into local workers, to work around execnet's python -c adding the current directory to sys.path.

- `638 <https://github.com/pytest-dev/pytest-xdist/issues/638>`_: Fix issue caused by changing the branch name of the pytest repository.


Trivial Changes
---------------

- `592 <https://github.com/pytest-dev/pytest-xdist/issues/592>`_: Replace master with controller where ever possible.

- `643 <https://github.com/pytest-dev/pytest-xdist/issues/643>`_: Use 'main' to refer to pytest default branch in tox env names.

2.2.1

===============================

Bug Fixes
---------

- `623 <https://github.com/pytest-dev/pytest-xdist/issues/623>`_: Gracefully handle the pending deprecation of Node.fspath by using config.rootpath for topdir.

2.2.0

===============================

Features
--------

- `608 <https://github.com/pytest-dev/pytest-xdist/issues/608>`_: Internal errors in workers are now propagated to the master node.

2.1.0

===============================

Features
--------

- `585 <https://github.com/pytest-dev/pytest-xdist/issues/585>`_: New ``pytest_xdist_auto_num_workers`` hook can be implemented by plugins or ``conftest.py`` files to control the number of workers when ``--numprocesses=auto`` is given in the command-line.


Trivial Changes
---------------

- `585 <https://github.com/pytest-dev/pytest-xdist/issues/585>`_: ``psutil`` has proven to make ``pytest-xdist`` installation in certain platforms and containers problematic, so to use it for automatic number of CPUs detection users need to install the ``psutil`` extra::

   pip install pytest-xdist[psutil]

2.0.0

===============================

Deprecations and Removals
-------------------------

- `541 <https://github.com/pytest-dev/pytest-xdist/issues/541>`_: Drop backward-compatibility "slave" aliases related to worker nodes.  We deliberately moved away from this terminology years ago, and it seems like the right time to finish the deprecation and removal process.

- `569 <https://github.com/pytest-dev/pytest-xdist/issues/569>`_: ``pytest-xdist`` no longer supports Python 2.7.


Features
--------

- `504 <https://github.com/pytest-dev/pytest-xdist/issues/504>`_: New functions ``xdist.is_xdist_worker``, ``xdist.is_xdist_master``, ``xdist.get_xdist_worker_id``, to easily identify the current node.


Bug Fixes
---------

- `471 <https://github.com/pytest-dev/pytest-xdist/issues/471>`_: Fix issue with Rsync reporting in quiet mode.

- `553 <https://github.com/pytest-dev/pytest-xdist/issues/553>`_: When using ``-n auto``, count the number of physical CPU cores instead of logical ones.


Trivial Changes
---------------

- `541 <https://github.com/pytest-dev/pytest-xdist/issues/541>`_: ``pytest-xdist`` now requires ``pytest>=6.0``.

1.34.0

================================

Features
--------

- `549 <https://github.com/pytest-dev/pytest-xdist/issues/549>`_: Make ``--pdb`` imply ``--dist no``, as the two options cannot really work together at the moment.


Bug Fixes
---------

- `478 <https://github.com/pytest-dev/pytest-xdist/issues/478>`_: Fix regression with duplicated arguments via $PYTEST_ADDOPTS in 1.30.0.

- `558 <https://github.com/pytest-dev/pytest-xdist/issues/558>`_: Fix ``rsyncdirs`` usage with pytest 6.0.

- `562 <https://github.com/pytest-dev/pytest-xdist/issues/562>`_: Do not trigger the deprecated ``pytest_warning_captured`` in pytest 6.0+.

1.33.0

================================

Features
--------

- `554 <https://github.com/pytest-dev/pytest-xdist/issues/554>`_: Fix warnings support for upcoming pytest 6.0.


Trivial Changes
---------------

- `548 <https://github.com/pytest-dev/pytest-xdist/issues/548>`_: SCM and CI files are no longer included in the source distribution.

1.32.0

================================

Deprecations and Removals
-------------------------

- `475 <https://github.com/pytest-dev/pytest-xdist/issues/475>`_: Drop support for EOL Python 3.4.


Features
--------

- `524 <https://github.com/pytest-dev/pytest-xdist/issues/524>`_: Add `testrun_uid` fixture. This is a shared value that uniquely identifies a test run among all workers.
This also adds a `PYTEST_XDIST_TESTRUNUID` environment variable that is accessible within a test as well as a command line option `--testrunuid` to manually set the value from outside.

1.31.0

================================

Features
--------

- `486 <https://github.com/pytest-dev/pytest-xdist/issues/486>`_: Add support for Python 3.8.


Bug Fixes
---------

- `491 <https://github.com/pytest-dev/pytest-xdist/issues/491>`_: Fix regression that caused custom plugin command-line arguments to be discarded when using ``--tx`` mode.

1.30.0

================================

Features
--------

- `448 <https://github.com/pytest-dev/pytest-xdist/issues/448>`_: Initialization between workers and master nodes is now more consistent, which fixes a number of
long-standing issues related to startup with the ``-c`` option.

Issues:

* `6 <https://github.com/pytest-dev/pytest-xdist/issues/6>`__: Poor interaction between ``-n#`` and ``-c X.cfg``
* `445 <https://github.com/pytest-dev/pytest-xdist/issues/445>`__: pytest-xdist is not reporting the same nodeid as pytest does

This however only works with **pytest 5.1 or later**, as it required changes in pytest itself.


Bug Fixes
---------

- `467 <https://github.com/pytest-dev/pytest-xdist/issues/467>`_: Fix crash issues related to running xdist with the terminal plugin disabled.

1.29.0

================================

Features
--------

- `226 <https://github.com/pytest-dev/pytest-xdist/issues/226>`_: ``--max-worker-restart`` now assumes a more reasonable value (4 times the number of
nodes) when not given explicitly. This prevents test suites from running forever when the suite crashes during collection.

- `435 <https://github.com/pytest-dev/pytest-xdist/issues/435>`_: When the test session is interrupted due to running out of workers, the reason is shown in the test summary
for easier viewing.

- `442 <https://github.com/pytest-dev/pytest-xdist/issues/442>`_: Compatibility fix for upcoming pytest 5.0: ``session.exitstatus`` is now an ``IntEnum`` object.


Bug Fixes
---------

- `435 <https://github.com/pytest-dev/pytest-xdist/issues/435>`_: No longer show an internal error when we run out of workers due to crashes.

1.28.0

================================

Features
--------

- `426 <https://github.com/pytest-dev/pytest-xdist/issues/426>`_: ``pytest-xdist`` now uses the new ``pytest_report_to_serializable`` and ``pytest_report_from_serializable``
hooks from ``pytest 4.4`` (still experimental). This will make report serialization more reliable and
extensible.

This also means that ``pytest-xdist`` now requires ``pytest>=4.4``.

1.27.0

================================

Features
--------

- `374 <https://github.com/pytest-dev/pytest-xdist/issues/374>`_: The new ``pytest_xdist_getremotemodule`` hook allows overriding the module run on remote nodes.

- `415 <https://github.com/pytest-dev/pytest-xdist/issues/415>`_: Improve behavior of ``--numprocesses=auto`` to work well with ``--pdb`` option.

1.26.1

================================

Bug Fixes
---------

- `406 <https://github.com/pytest-dev/pytest-xdist/issues/406>`_: Do not implement deprecated ``pytest_logwarning`` hook in pytest versions where it is deprecated.

1.26.0

================================

Features
--------

- `376 <https://github.com/pytest-dev/pytest-xdist/issues/376>`_: The current directory is no longer added ``sys.path`` for local workers, only for remote connections.

This behavior is surprising because it makes xdist runs and non-xdist runs to potentially behave differently.


Bug Fixes
---------

- `379 <https://github.com/pytest-dev/pytest-xdist/issues/379>`_: Warning attributes are checked to make sure they can be dumped prior to
serializing the warning for submission to the master node.

1.25.0

================================

Deprecations and Removals
-------------------------

- `372 <https://github.com/pytest-dev/pytest-xdist/issues/372>`_: Pytest versions older than 3.6 are no longer supported.


Features
--------

- `373 <https://github.com/pytest-dev/pytest-xdist/issues/373>`_: Node setup information is hidden when pytest is run in quiet mode to reduce noise on many-core machines.

- `388 <https://github.com/pytest-dev/pytest-xdist/issues/388>`_: ``mainargv`` is made available in ``workerinput`` from the host's ``sys.argv``.

This can be used via ``request.config.workerinput["mainargv"]``.


Bug Fixes
---------

- `332 <https://github.com/pytest-dev/pytest-xdist/issues/332>`_: Fix report of module-level skips (``pytest.skip(reason, allow_module_level=True)``).

- `378 <https://github.com/pytest-dev/pytest-xdist/issues/378>`_: Fix support for gevent monkeypatching

- `384 <https://github.com/pytest-dev/pytest-xdist/issues/384>`_: pytest 4.1 support: ``ExceptionInfo`` API changes.

- `390 <https://github.com/pytest-dev/pytest-xdist/issues/390>`_: pytest 4.1 support: ``pytest_logwarning`` hook removed.

1.24.1

================================

Bug Fixes
---------

- `349 <https://github.com/pytest-dev/pytest-xdist/issues/349>`_: Correctly handle warnings created with arguments that can't be serialized during the transfer from workers to master node.

1.24.0

================================

Features
--------

- `337 <https://github.com/pytest-dev/pytest-xdist/issues/337>`_: New ``--maxprocesses`` command-line option that limits the maximum number of workers when using ``--numprocesses=auto``.


Bug Fixes
---------

- `351 <https://github.com/pytest-dev/pytest-xdist/issues/351>`_: Fix scheduling deadlock in case of inter-test locking.

1.23.2

================================

Bug Fixes
---------

- `344 <https://github.com/pytest-dev/pytest-xdist/issues/344>`_: Fix issue where Warnings could cause pytest to fail if they do not set the args attribute correctly.

1.23.1

================================

Bug Fixes
---------

- `341 <https://github.com/pytest-dev/pytest-xdist/issues/341>`_: Fix warnings transfer between workers and master node with pytest >= 3.8.

1.23.0

================================

Features
--------

- `330 <https://github.com/pytest-dev/pytest-xdist/issues/330>`_: Improve collection performance by reducing the number of events sent to ``master`` node.

1.22.5

================================

Bug Fixes
---------

- `321 <https://github.com/pytest-dev/pytest-xdist/issues/321>`_: Revert change that dropped support for ``pytest<3.4`` and require ``six``.

This change caused problems in some installations, and was a mistaken
in the first place as we should not change version requirements
in bug-fix releases unless they fix an actual bug.

1.22.4

================================

Bug Fixes
---------

- `305 <https://github.com/pytest-dev/pytest-xdist/issues/305>`_: Remove last references to obsolete ``py.code``.

Remove some unnecessary references to ``py.builtin``.

- `316 <https://github.com/pytest-dev/pytest-xdist/issues/316>`_: Workaround cpu detection on Travis CI.

1.22.3

================================

Bug Fixes
---------

- Fix issue of virtualized or containerized environments not reporting the number of CPUs correctly. (`9 <https://github.com/pytest-dev/pytest-xdist/issues/9>`_)


Trivial Changes
---------------

- Make all classes subclass from ``object`` and fix ``super()`` call in ``LoadFileScheduling``; (`297 <https://github.com/pytest-dev/pytest-xdist/issues/297>`_)

1.22.2

================================

Bug Fixes
---------

- Add backward compatibility for ``slaveoutput`` attribute to
``WorkerController`` instances. (`285
<https://github.com/pytest-dev/pytest-xdist/issues/285>`_)

1.22.1

================================

Bug Fixes
---------

- Fix issue when using ``loadscope`` or ``loadfile`` where tests would fail to
start if the first scope had only one test. (`257
<https://github.com/pytest-dev/pytest-xdist/issues/257>`_)


Trivial Changes
---------------

- Change terminology used by ``pytest-xdist`` to *master* and *worker* in
arguments and messages (for example ``--max-worker-reset``). (`234
<https://github.com/pytest-dev/pytest-xdist/issues/234>`_)

1.22.0

================================

Features
--------

- Add support for the ``pytest_runtest_logfinish`` hook which will be released
in pytest 3.4. (`266
<https://github.com/pytest-dev/pytest-xdist/issues/266>`_)

1.21.0

================================

Deprecations and Removals
-------------------------

- Drop support for EOL Python 2.6. (`259
<https://github.com/pytest-dev/pytest-xdist/issues/259>`_)


Features
--------

- New ``--dist=loadfile`` option which load-distributes test to workers grouped
by the file the tests live in. (`242
<https://github.com/pytest-dev/pytest-xdist/issues/242>`_)


Bug Fixes
---------

- Fix accidental mutation of test report during serialization causing longrepr
string-ification to break. (`241
<https://github.com/pytest-dev/pytest-xdist/issues/241>`_)

1.20.1

================================

Bug Fixes
---------

- Fix hang when all worker nodes crash and restart limit is reached (`45
<https://github.com/pytest-dev/pytest-xdist/issues/45>`_)

- Fix issue where the -n option would still run distributed tests when pytest
was run with the --collect-only option (`5
<https://github.com/pytest-dev/pytest-xdist/issues/5>`_)

1.20.0

================================

Features
--------

- ``xdist`` now supports tests to log results multiple times, improving
integration with plugins which require it like `pytest-rerunfailures
<https://github.com/gocept/pytest-rerunfailures>`_ and `flaky
<https://pypi.python.org/pypi/flaky>`_. (`#206 <https://github.com/pytest-
dev/pytest-xdist/issues/206>`_)


Bug Fixes
---------

- Fix issue where tests were being incorrectly identified if a worker crashed
during the ``teardown`` stage of the test. (`124 <https://github.com/pytest-
dev/pytest-xdist/issues/124>`_)

1.19.1

================================

Bug Fixes
---------

- Fix crash when transferring internal pytest warnings from workers to the
master node. (`214 <https://github.com/pytest-dev/pytest-
xdist/issues/214>`_)

1.19.0

================================

Deprecations and Removals
-------------------------

- ``--boxed`` functionality has been moved to a separate plugin, `pytest-forked
<https://github.com/pytest-dev/pytest-forked>`_. This release now depends on
`` pytest-forked`` and provides ``--boxed`` as a backward compatibility
option. (`1 <https://github.com/pytest-dev/pytest-xdist/issues/1>`_)


Features
--------

- New ``--dist=loadscope`` option: sends group of related tests to the same
worker. Tests are grouped by module for test functions and by class for test
methods. See ``README.rst`` for more information. (`191 <https://github.com
/pytest-dev/pytest-xdist/issues/191>`_)

- Warnings are now properly transferred from workers to the master node. (`92
<https://github.com/pytest-dev/pytest-xdist/issues/92>`_)


Bug Fixes
---------

- Fix serialization of native tracebacks (``--tb=native``). (`196
<https://github.com/pytest-dev/pytest-xdist/issues/196>`_)

1.18.2

================================

Bug Fixes
---------

- Removal of unnecessary dependency on incorrect version of py. (`105
<https://github.com/pytest-dev/pytest-xdist/issues/105>`_)

- Fix bug in internal event-loop error handler in the master node. This bug
would shadow the original errors making extremely hard/impossible for users
to diagnose the problem properly. (`175 <https://github.com/pytest-
dev/pytest-xdist/issues/175>`_)

1.18.1

================================

Bug Fixes
---------

- Fixed serialization of ``longrepr.sections`` during error reporting from
workers. (`171 <https://github.com/pytest-dev/pytest-xdist/issues/171>`_)

- Fix ``ReprLocal`` not being unserialized breaking --showlocals usages. (`176
<https://github.com/pytest-dev/pytest-xdist/issues/176>`_)

1.18.0

================================

- ``pytest-xdist`` now requires ``pytest>=3.0.0``.

Features
--------

- Add long option `--numprocesses` as alternative for `-n`. (168)


Bug Fixes
---------

- Fix serialization and deserialization dropping longrepr details. (133)

1.17.1

================================

Bug Fixes
---------

- Hot fix release reverting the change introduced by 124, unfortunately it
broke a number of test suites so we are reversing this change while we
investigate the problem. (157)


Improved Documentation
----------------------

- Introduced ``towncrier`` for ``CHANGELOG`` management. (154)

- Added ``HOWTORELEASE`` documentation. (155)

1.17.0

------

- fix 124: xdist would mark test as complete after 'call' step. As a result,
xdist could identify the wrong test as failing when test crashes at teardown.
To address this issue, xdist now marks test as complete at teardown.

1.16.0

------

- ``pytest-xdist`` now requires pytest 2.7 or later.

- Add ``worker_id`` attribute in the TestReport

- new hook: ``pytest_xdist_make_scheduler(config, log)``, can return custom tests items
distribution logic implementation. You can take a look at built-in ``LoadScheduling``
and ``EachScheduling`` implementations. Note that required scheduler class public
API may change in next ``pytest-xdist`` versions.
Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant