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 dependency pytest-xdist to v3 #110

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

Conversation

mend-for-github-com[bot]
Copy link

@mend-for-github-com mend-for-github-com bot commented Oct 25, 2022

This PR contains the following updates:

Package Update Change
pytest-xdist (changelog) major ==2.1.0 -> ==3.6.1

Release Notes

pytest-dev/pytest-xdist (pytest-xdist)

v3.6.1

Compare Source

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

Bug Fixes

  • #&#8203;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.

v3.6.0

Compare Source

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

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

Features

  • #&#8203;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 #​620`__).

Bug Fixes

  • #&#8203;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.

  • #&#8203;1028 <https://github.com/pytest-dev/pytest-xdist/issues/1028>_: Fixed compatibility issue between looponfail and editable installs.

  • #&#8203;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.

  • #&#8203;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

  • #&#8203;1053 <https://github.com/pytest-dev/pytest-xdist/issues/1053>_: Dropped support for Python 3.7.

  • #&#8203;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

  • #&#8203;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.

  • #&#8203;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.

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

v3.5.0

Compare Source

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

Features

  • #&#8203;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.

v3.4.0

Compare Source

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

Features

  • #&#8203;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.

  • #&#8203;965 <https://github.com/pytest-dev/pytest-xdist/issues/965>_: Added support for Python 3.12.

v3.3.1

Compare Source

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

Bug Fixes

  • #&#8203;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/execnet#96 <https://github.com/pytest-dev/execnet/issues/96>__).

v3.3.0

Compare Source

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

Features

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

v3.2.1

Compare Source

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

Bug Fixes

  • #&#8203;884 <https://github.com/pytest-dev/pytest-xdist/issues/884>_: Fixed hang in worksteal scheduler.

v3.2.0

Compare Source

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

Improved Documentation

  • #&#8203;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

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

  • #&#8203;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

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

v3.1.0

Compare Source

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

Features

  • #&#8203;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
    
  • #&#8203;842 <https://github.com/pytest-dev/pytest-xdist/issues/842>_: Python 3.11 is now officially supported.

Removals

  • #&#8203;842 <https://github.com/pytest-dev/pytest-xdist/issues/842>_: Python 3.6 is no longer supported.

v3.0.2

Compare Source

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

Bug Fixes

  • #&#8203;813 <https://github.com/pytest-dev/pytest-xdist/issues/813>_: Cancel shutdown when a crashed worker is restarted.

Deprecations

  • #&#8203;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.

  • #&#8203;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

  • #&#8203;791 <https://github.com/pytest-dev/pytest-xdist/issues/791>_: Document the pytest_xdist_auto_num_workers hook.

  • #&#8203;796 <https://github.com/pytest-dev/pytest-xdist/issues/796>_: Added known limitations section to documentation.

  • #&#8203;829 <https://github.com/pytest-dev/pytest-xdist/issues/829>_: Document the -n logical option.

Features

  • #&#8203;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.

  • #&#8203;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

  • #&#8203;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

  • #&#8203;468 <https://github.com/pytest-dev/pytest-xdist/issues/468>_: The py dependency has been dropped.

  • #&#8203;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).

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

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

v2.5.0

Compare Source

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

Deprecations and Removals

  • #&#8203;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

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

  • #&#8203;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

  • #&#8203;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.

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

  • #&#8203;720 <https://github.com/pytest-dev/pytest-xdist/issues/720>_: Require pytest>=6.2.0.

  • #&#8203;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.

v2.4.0

Compare Source

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

Features

  • #&#8203;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].

  • #&#8203;704 <https://github.com/pytest-dev/pytest-xdist/issues/704>_: Add support for Python 3.10.

v2.3.0

Compare Source

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

Deprecations and Removals

  • #&#8203;654 <https://github.com/pytest-dev/pytest-xdist/issues/654>_: Python 3.5 is no longer supported.

Features

  • #&#8203;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.

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

Bug Fixes

  • #&#8203;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.

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

Trivial Changes

  • #&#8203;592 <https://github.com/pytest-dev/pytest-xdist/issues/592>_: Replace master with controller where ever possible.

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

v2.2.1

Compare Source

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

Bug Fixes

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

v2.2.0

Compare Source

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

Features

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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from 92453d0 to 317af59 Compare December 3, 2022 14:52
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from 317af59 to 83693ac Compare February 7, 2023 17:41
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from 83693ac to 97ed325 Compare March 12, 2023 16:39
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch 2 times, most recently from 61495f4 to 6519599 Compare May 19, 2023 13:31
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from 6519599 to df4dfb1 Compare September 4, 2023 05:23
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from df4dfb1 to 869dc85 Compare November 12, 2023 04:09
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from 869dc85 to 392f926 Compare November 22, 2023 04:12
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch 2 times, most recently from 5695d70 to ca15223 Compare April 21, 2024 03:58
@mend-for-github-com mend-for-github-com bot force-pushed the whitesource-remediate/pytest-xdist-3.x branch from ca15223 to d0140f6 Compare April 29, 2024 04:20
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

0 participants