-
Notifications
You must be signed in to change notification settings - Fork 232
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
getting failures on slower machines since 3.3.0 release #907
Comments
now obviously this involves our own code and such and it's not clear where the problem is, but it seems the 3.3.0 release was the catalyst. cc @CaselIT |
I think what's strange here is that pytest_sessionstart seems to be getting called in a thread that is not "MainThread", it's an arbitrary thread "Dummy-1" or something, and there's no event loop there. This does not happen if I try to reproduce locally though, pytest_sessionstart is called in the main thread up front and there's an event loop. is pytest_sessionstart called within the workers or before the workers are spun up? |
seems somewhat connected to this issue #620 still the issue here is also that the failed worker cannot be cleaned up and replaced |
Change-Id: I9c68ef747ad4c87b73751158c5b7966c28816ec8 References: pytest-dev/pytest-xdist#907
Hey folks, About this failing only in As for the failure, it does seem like a known I also see that you are using execnet 1.9.0... |
I've also looked at changes and I too found it very strange, but it seems fairly consistent, since after adding a constraint The fails is fairly consistent but it's only happening on the arm builds. The only difference that they have is that they are quite a bit slower than the normal builds since they run under emulation. Is is possible that the changes in 3.3.0 made reporting a bit slower and that surfaced a race condition or other timing related issue in xdist? It's still strange that a thread would be created randomly though, |
I can't think of other explanation for that, however the "refresh rate" is the same as before, in fact we even write a few less characters now at each update. 🤔 |
Ahh found a difference which might have impacted this some how: Previously we would only ask for the "remote information" only if verbosity > 0 (default is 0): @pytest.hookimpl
def pytest_xdist_newgateway(self, gateway):
if self.config.option.verbose > 0:
rinfo = gateway._rinfo() But now the information is asked even with @pytest.hookimpl
def pytest_xdist_newgateway(self, gateway) -> None:
rinfo = gateway._rinfo()
is_local = rinfo.executable == sys.executable
if self.config.option.verbose > 0 and not is_local: Can you folks try to run with However it definitely is still a bug with |
we're already running with -q, this is our commandline:
our plugin adds those additional two flags |
also it would be good if the whole issue could be fixed, not just a workaround that gets less info, should we post an issue w/ execnet? |
Definitely, I'm thinking of a workaround because this is a known issue with |
weird ! |
I'm having this issue in my pipelines as well, changing to |
@david-engelmann the exact same traceback? |
@nicoddemus |
Thanks! |
Also on arm emulation / running arm natively? |
@CaselIT my trace was from a cicd pipeline |
Hopefully this fixes pytest-dev#907, as seems this is the only change in pytest-dev#901 which is somehow related.
Opened #909 that hopefully workarounds this (as compared to Of course ideally we should be able to fix the problem in |
Hopefully this fixes pytest-dev#907, as seems this is the only change in pytest-dev#901 which is somehow related.
Thanks for the report and help with testing folks! |
OK great, will let you know how it goes |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) ([changelog](https://pytest-xdist.readthedocs.io/en/latest/changelog.html)) | `3.3.0` -> `3.3.1` | [![age](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/compatibility-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/confidence-slim/3.3.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pytest-dev/pytest-xdist</summary> ### [`v3.3.1`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-331-2023-05-19) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.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/execnet#​96 <https://github.com/pytest-dev/execnet/issues/96>`\__). </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/ixm-one/pytest-cmake-presets). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS45NS4xIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Signed-off-by: Renovate Bot <bot@renovateapp.com> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
all good for 3.3.1, thanks! 🚀 🐰 🎉 |
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.3.0 to 3.3.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](pytest-dev/pytest-xdist#907) <https://github.com/pytest-dev/pytest-xdist/issues/907></code>_: Avoid remote calls during startup as <code>execnet</code> 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 <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96></code>__).</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9791021f02ea45198ced023af9984f1a2f010216"><code>9791021</code></a> Release 3.3.1</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4e7bd0239e136ef35d28e87838c0bc1b8b7c2189"><code>4e7bd02</code></a> Avoid unnecessary rinfo calls after creating gateways (<a href="https://github.com/pytest-dev/pytest-xdist/issues/909">#909</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/52a61434fbb18d980e885ac6a2abfaf23dddadad"><code>52a6143</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/pytest-dev/pytest-xdist/issues/908">#908</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9efc64eef9214892f7672a3f3b8ed33a7f49ca05"><code>9efc64e</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/906">#906</a> from nicoddemus/ci-improvements</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/6d39025be3451224e040d39a9643ffdade7256e2"><code>6d39025</code></a> Use same package in all test runs</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d8fb60ba7fe56998868a06a69bbcf19715ff5a62"><code>d8fb60b</code></a> Fix tag creation in deploy workflow</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4d230b6de761bf5143fe21d6e303f6a125b17dc7"><code>4d230b6</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/905">#905</a> from pytest-dev/release-3.3.0</li> <li>See full diff in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.3.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-xdist&package-manager=pip&previous-version=3.3.0&new-version=3.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details>
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from 3.3.0 to 3.3.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](pytest-dev/pytest-xdist#907) <https://github.com/pytest-dev/pytest-xdist/issues/907></code>_: Avoid remote calls during startup as <code>execnet</code> 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 <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96></code>__).</p> </li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9791021f02ea45198ced023af9984f1a2f010216"><code>9791021</code></a> Release 3.3.1</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4e7bd0239e136ef35d28e87838c0bc1b8b7c2189"><code>4e7bd02</code></a> Avoid unnecessary rinfo calls after creating gateways (<a href="https://github.com/pytest-dev/pytest-xdist/issues/909">#909</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/52a61434fbb18d980e885ac6a2abfaf23dddadad"><code>52a6143</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/pytest-dev/pytest-xdist/issues/908">#908</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9efc64eef9214892f7672a3f3b8ed33a7f49ca05"><code>9efc64e</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/906">#906</a> from nicoddemus/ci-improvements</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/6d39025be3451224e040d39a9643ffdade7256e2"><code>6d39025</code></a> Use same package in all test runs</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d8fb60ba7fe56998868a06a69bbcf19715ff5a62"><code>d8fb60b</code></a> Fix tag creation in deploy workflow</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4d230b6de761bf5143fe21d6e303f6a125b17dc7"><code>4d230b6</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/905">#905</a> from pytest-dev/release-3.3.0</li> <li>See full diff in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.3.1">compare view</a></li> </ul> </details> <br /> [![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=pytest-xdist&package-manager=pip&previous-version=3.3.0&new-version=3.3.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
I'm experiencing the error again on 3.3.1
…On Friday, May 19, 2023, mike bayer ***@***.***> wrote:
all good for 3.3.1, thanks! 🚀 🐰 🎉
—
Reply to this email directly, view it on GitHub
<#907 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATLPNBFKQB6VQWT67MSE4ADXHAJMZANCNFSM6AAAAAAYCSTYHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
for context so far so good on sqlalchemy side |
@david-engelmann I'm at loss why it would work with 3.2.1, but not on 3.3.1, given that now the remote calls are exactly the same AFAICT. Are you passing |
I'm calling "pytest -n auto -v test/*"
…On Monday, May 22, 2023, Bruno Oliveira ***@***.***> wrote:
@david-engelmann <https://github.com/david-engelmann> I'm at loss why it
would work with 3.2.1, but not on 3.3.1, given that now the remote calls
are exactly the same AFAICT.
Are you passing -v to pytest?
—
Reply to this email directly, view it on GitHub
<#907 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATLPNBDU7VGFYHUJI2PMJFDXHPUBTANCNFSM6AAAAAAYCSTYHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
See if removing |
Will do! I'll do a full investigation when I'm off mobile
…On Monday, May 22, 2023, Bruno Oliveira ***@***.***> wrote:
-v will currently force that extra rinfo call which might trigger the
problem (but that was also true em 3.2.1).
See if removing -v helps.
—
Reply to this email directly, view it on GitHub
<#907 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ATLPNBHI2MQ6P34K73U2J43XHQEMNANCNFSM6AAAAAAYCSTYHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) ([changelog](https://pytest-xdist.readthedocs.io/en/latest/changelog.html)) | `==2.5.0` -> `==3.3.1` | [![age](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/compatibility-slim/2.5.0)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/pypi/pytest-xdist/3.3.1/confidence-slim/2.5.0)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>pytest-dev/pytest-xdist</summary> ### [`v3.3.1`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-331-2023-05-19) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.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/execnet#​96 <https://github.com/pytest-dev/execnet/issues/96>`\__). ### [`v3.3.0`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-330-2023-05-12) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.2.1...v3.3.0) \=============================== ## Features - `#​555 <https://github.com/pytest-dev/pytest-xdist/issues/555>`\_: Improved progress output when collecting nodes to be less verbose. ### [`v3.2.1`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-321-2023-03-12) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.2.0...v3.2.1) \=============================== ## Bug Fixes - `#​884 <https://github.com/pytest-dev/pytest-xdist/issues/884>`\_: Fixed hang in `worksteal` scheduler. ### [`v3.2.0`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-320-2023-02-07) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.1.0...v3.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. ### [`v3.1.0`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-310-2022-12-01) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v3.0.2...v3.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. ### [`v3.0.2`](https://github.com/pytest-dev/pytest-xdist/blob/HEAD/CHANGELOG.rst#pytest-xdist-302-2022-10-25) [Compare Source](https://github.com/pytest-dev/pytest-xdist/compare/v2.5.0...v3.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`. </details> --- ### Configuration 📅 **Schedule**: Branch creation - "every weekend" (UTC), 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. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/fluencelabs/spell). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS40MC4wIiwidXBkYXRlZEluVmVyIjoiMzUuOTUuMSIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Bumps the dev group with 4 updates: [black](https://github.com/psf/black), [pytest-cov](https://github.com/pytest-dev/pytest-cov), [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) and [ruff](https://github.com/astral-sh/ruff). Updates `black` from 23.10.1 to 23.11.0 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/psf/black/releases">black's releases</a>.</em></p> <blockquote> <h2>23.11.0</h2> <h3>Highlights</h3> <ul> <li>Support formatting ranges of lines with the new <code>--line-ranges</code> command-line option (<a href="https://github.com/psf/black/issues/4020">#4020</a>)</li> </ul> <h3>Stable style</h3> <ul> <li>Fix crash on formatting bytes strings that look like docstrings (<a href="https://github.com/psf/black/issues/4003">#4003</a>)</li> <li>Fix crash when whitespace followed a backslash before newline in a docstring (<a href="https://github.com/psf/black/issues/4008">#4008</a>)</li> <li>Fix standalone comments inside complex blocks crashing Black (<a href="https://github.com/psf/black/issues/4016">#4016</a>)</li> <li>Fix crash on formatting code like <code>await (a ** b)</code> (<a href="https://github.com/psf/black/issues/3994">#3994</a>)</li> <li>No longer treat leading f-strings as docstrings. This matches Python's behaviour and fixes a crash (<a href="https://github.com/psf/black/issues/4019">#4019</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Multiline dicts and lists that are the sole argument to a function are now indented less (<a href="https://github.com/psf/black/issues/3964">#3964</a>)</li> <li>Multiline unpacked dicts and lists as the sole argument to a function are now also indented less (<a href="https://github.com/psf/black/issues/3992">#3992</a>)</li> <li>In f-string debug expressions, quote types that are visible in the final string are now preserved (<a href="https://github.com/psf/black/issues/4005">#4005</a>)</li> <li>Fix a bug where long <code>case</code> blocks were not split into multiple lines. Also enable general trailing comma rules on <code>case</code> blocks (<a href="https://github.com/psf/black/issues/4024">#4024</a>)</li> <li>Keep requiring two empty lines between module-level docstring and first function or class definition (<a href="https://github.com/psf/black/issues/4028">#4028</a>)</li> <li>Add support for single-line format skip with other comments on the same line (<a href="https://github.com/psf/black/issues/3959">#3959</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Consistently apply force exclusion logic before resolving symlinks (<a href="https://github.com/psf/black/issues/4015">#4015</a>)</li> <li>Fix a bug in the matching of absolute path names in <code>--include</code> (<a href="https://github.com/psf/black/issues/3976">#3976</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Fix mypyc builds on arm64 on macOS (<a href="https://github.com/psf/black/issues/4017">#4017</a>)</li> </ul> <h3>Integrations</h3> <ul> <li>Black's pre-commit integration will now run only on git hooks appropriate for a code formatter (<a href="https://github.com/psf/black/issues/3940">#3940</a>)</li> </ul> </blockquote> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/psf/black/blob/main/CHANGES.md">black's changelog</a>.</em></p> <blockquote> <h2>23.11.0</h2> <h3>Highlights</h3> <ul> <li>Support formatting ranges of lines with the new <code>--line-ranges</code> command-line option (<a href="https://github.com/psf/black/issues/4020">#4020</a>)</li> </ul> <h3>Stable style</h3> <ul> <li>Fix crash on formatting bytes strings that look like docstrings (<a href="https://github.com/psf/black/issues/4003">#4003</a>)</li> <li>Fix crash when whitespace followed a backslash before newline in a docstring (<a href="https://github.com/psf/black/issues/4008">#4008</a>)</li> <li>Fix standalone comments inside complex blocks crashing Black (<a href="https://github.com/psf/black/issues/4016">#4016</a>)</li> <li>Fix crash on formatting code like <code>await (a ** b)</code> (<a href="https://github.com/psf/black/issues/3994">#3994</a>)</li> <li>No longer treat leading f-strings as docstrings. This matches Python's behaviour and fixes a crash (<a href="https://github.com/psf/black/issues/4019">#4019</a>)</li> </ul> <h3>Preview style</h3> <ul> <li>Multiline dicts and lists that are the sole argument to a function are now indented less (<a href="https://github.com/psf/black/issues/3964">#3964</a>)</li> <li>Multiline unpacked dicts and lists as the sole argument to a function are now also indented less (<a href="https://github.com/psf/black/issues/3992">#3992</a>)</li> <li>In f-string debug expressions, quote types that are visible in the final string are now preserved (<a href="https://github.com/psf/black/issues/4005">#4005</a>)</li> <li>Fix a bug where long <code>case</code> blocks were not split into multiple lines. Also enable general trailing comma rules on <code>case</code> blocks (<a href="https://github.com/psf/black/issues/4024">#4024</a>)</li> <li>Keep requiring two empty lines between module-level docstring and first function or class definition (<a href="https://github.com/psf/black/issues/4028">#4028</a>)</li> <li>Add support for single-line format skip with other comments on the same line (<a href="https://github.com/psf/black/issues/3959">#3959</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Consistently apply force exclusion logic before resolving symlinks (<a href="https://github.com/psf/black/issues/4015">#4015</a>)</li> <li>Fix a bug in the matching of absolute path names in <code>--include</code> (<a href="https://github.com/psf/black/issues/3976">#3976</a>)</li> </ul> <h3>Performance</h3> <ul> <li>Fix mypyc builds on arm64 on macOS (<a href="https://github.com/psf/black/issues/4017">#4017</a>)</li> </ul> <h3>Integrations</h3> <ul> <li>Black's pre-commit integration will now run only on git hooks appropriate for a code formatter (<a href="https://github.com/psf/black/issues/3940">#3940</a>)</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/psf/black/commit/2a1c67e0b2f81df602ec1f6e7aeb030b9709dc7c"><code>2a1c67e</code></a> Prepare release 23.11.0 (<a href="https://github.com/psf/black/issues/4032">#4032</a>)</li> <li><a href="https://github.com/psf/black/commit/72e7a2e43eef2aa0c83652bb6725eb004a2a69f3"><code>72e7a2e</code></a> Remove redundant condition from <code>has_magic_trailing_comma</code> (<a href="https://github.com/psf/black/issues/4023">#4023</a>)</li> <li><a href="https://github.com/psf/black/commit/1a7d9c2f58de1ffcbbe6d133f60f283601ba3f54"><code>1a7d9c2</code></a> Preserve visible quote types for f-string debug expressions (<a href="https://github.com/psf/black/issues/4005">#4005</a>)</li> <li><a href="https://github.com/psf/black/commit/f4c7be5445c87d9af5eba3d12faea62d2635e3d8"><code>f4c7be5</code></a> docs: fix minor typo (<a href="https://github.com/psf/black/issues/4030">#4030</a>)</li> <li><a href="https://github.com/psf/black/commit/2e4fac9d87615e904a49e46a9cab2293e0b13126"><code>2e4fac9</code></a> Apply force exclude logic before symlink resolution (<a href="https://github.com/psf/black/issues/4015">#4015</a>)</li> <li><a href="https://github.com/psf/black/commit/66008fda5dc07f5626e5f5d0dcefc476a9c12ab8"><code>66008fd</code></a> [563] Fix standalone comments inside complex blocks crashing Black (<a href="https://github.com/psf/black/issues/4016">#4016</a>)</li> <li><a href="https://github.com/psf/black/commit/50ed6221d97b265025abaa66116a7b185f2df5e2"><code>50ed622</code></a> Fix long case blocks not split into multiple lines (<a href="https://github.com/psf/black/issues/4024">#4024</a>)</li> <li><a href="https://github.com/psf/black/commit/46be1f8e54ac9a7d67723c0fa28c7bec13a0a2bf"><code>46be1f8</code></a> Support formatting specified lines (<a href="https://github.com/psf/black/issues/4020">#4020</a>)</li> <li><a href="https://github.com/psf/black/commit/ecbd9e8cf71f13068c7e6803a534e00363114c91"><code>ecbd9e8</code></a> Fix crash with f-string docstrings (<a href="https://github.com/psf/black/issues/4019">#4019</a>)</li> <li><a href="https://github.com/psf/black/commit/e808e61db8c7a8f9c7fd4b2fff2281141f6b2517"><code>e808e61</code></a> Preview: Keep requiring two empty lines between module-level docstring and fi...</li> <li>Additional commits viewable in <a href="https://github.com/psf/black/compare/23.10.1...23.11.0">compare view</a></li> </ul> </details> <br /> Updates `pytest-cov` from 4.0.0 to 4.1.0 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst">pytest-cov's changelog</a>.</em></p> <blockquote> <h2>4.1.0 (2023-05-24)</h2> <ul> <li>Updated CI with new Pythons and dependencies.</li> <li>Removed rsyncdir support. This makes pytest-cov compatible with xdist 3.0. Contributed by Sorin Sbarnea in <code>[#558](pytest-dev/pytest-cov#558) <https://github.com/pytest-dev/pytest-cov/pull/558></code>_.</li> <li>Optimized summary generation to not be performed if no reporting is active (for example, when <code>--cov-report=''</code> is used without <code>--cov-fail-under</code>). Contributed by Jonathan Stewmon in <code>[#589](pytest-dev/pytest-cov#589) <https://github.com/pytest-dev/pytest-cov/pull/589></code>_.</li> <li>Added support for JSON reporting. Contributed by Matthew Gamble in <code>[#582](pytest-dev/pytest-cov#582) <https://github.com/pytest-dev/pytest-cov/pull/582></code>_.</li> <li>Refactored code to use f-strings. Contributed by Mark Mayo in <code>[#572](pytest-dev/pytest-cov#572) <https://github.com/pytest-dev/pytest-cov/pull/572></code>_.</li> <li>Fixed a skip in the test suite for some old xdist. Contributed by a bunch of people in <code>[#565](pytest-dev/pytest-cov#565) <https://github.com/pytest-dev/pytest-cov/pull/565></code>_.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/2c9f2170d8575b21bafb6402eb30ca7de31e20b9"><code>2c9f217</code></a> Bump version: 4.0.0 → 4.1.0</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/4d245df8f75e434a9e1b162b51265d6a45017465"><code>4d245df</code></a> Update changelog and authors.</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/7b095c84ae521b14058d7d520ef36372849063a8"><code>7b095c8</code></a> Skip starting from xdist 3.0.2 (where boxed was removed).</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/605d6902b3b3d17aad0bf811b8c580fc895724ca"><code>605d690</code></a> disabling boxed test if version xdist newer than 2.5.0</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/76fb2a6cb2c4a4a788a5b62710848daf9c8fb7ce"><code>76fb2a6</code></a> introduced f-strings</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/0d63ede0d2ca9f4acc8329aa4261a7cec489ffdb"><code>0d63ede</code></a> Update test config. Reapply some of the changes from PR567 to the right file ...</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/f3d8d8380f6a4b265353fe7cd509b040702f1e64"><code>f3d8d83</code></a> Add support for JSON reporter</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/dec02abeb9fa8ee3547baa054bde6006bea530ee"><code>dec02ab</code></a> Update test deps.</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/88a7d348986bace58e26c88a713ef35f900ce2ef"><code>88a7d34</code></a> chore: update AUTHORS and CHANGELOG</li> <li><a href="https://github.com/pytest-dev/pytest-cov/commit/74eb4cc8b684269b89735e31b623f0f9795c5d5c"><code>74eb4cc</code></a> perf: only call summary when the report will be used</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-cov/compare/v4.0.0...v4.1.0">compare view</a></li> </ul> </details> <br /> Updates `pytest-xdist` from 3.2.0 to 3.3.1 <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](pytest-dev/pytest-xdist#907) <https://github.com/pytest-dev/pytest-xdist/issues/907></code>_: Avoid remote calls during startup as <code>execnet</code> 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 <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96></code>__).</p> </li> </ul> <h1>pytest-xdist 3.3.0 (2023-05-12)</h1> <h2>Features</h2> <ul> <li><code>[#555](pytest-dev/pytest-xdist#555) <https://github.com/pytest-dev/pytest-xdist/issues/555></code>_: Improved progress output when collecting nodes to be less verbose.</li> </ul> <h1>pytest-xdist 3.2.1 (2023-03-12)</h1> <h2>Bug Fixes</h2> <ul> <li><code>[#884](pytest-dev/pytest-xdist#884) <https://github.com/pytest-dev/pytest-xdist/issues/884></code>_: Fixed hang in <code>worksteal</code> scheduler.</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9791021f02ea45198ced023af9984f1a2f010216"><code>9791021</code></a> Release 3.3.1</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4e7bd0239e136ef35d28e87838c0bc1b8b7c2189"><code>4e7bd02</code></a> Avoid unnecessary rinfo calls after creating gateways (<a href="https://github.com/pytest-dev/pytest-xdist/issues/909">#909</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/52a61434fbb18d980e885ac6a2abfaf23dddadad"><code>52a6143</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://github.com/pytest-dev/pytest-xdist/issues/908">#908</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/9efc64eef9214892f7672a3f3b8ed33a7f49ca05"><code>9efc64e</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/906">#906</a> from nicoddemus/ci-improvements</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/6d39025be3451224e040d39a9643ffdade7256e2"><code>6d39025</code></a> Use same package in all test runs</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d8fb60ba7fe56998868a06a69bbcf19715ff5a62"><code>d8fb60b</code></a> Fix tag creation in deploy workflow</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/4d230b6de761bf5143fe21d6e303f6a125b17dc7"><code>4d230b6</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/905">#905</a> from pytest-dev/release-3.3.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/f5b4a5d6edea6a9eb016730f5de0aae8cbc9930e"><code>f5b4a5d</code></a> Configure 'test' workflow to cancel running jobs for the branch</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/657ba9ac7fe5f58930f7ed39c359893469c65936"><code>657ba9a</code></a> Only test on-push for master and a specific branch name</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/fa08e0987bea6a094deb48fda6b61d37373b4520"><code>fa08e09</code></a> Add check-package step also to 'test' workflow</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.2.0...v3.3.1">compare view</a></li> </ul> </details> <br /> Updates `ruff` from 0.1.3 to 0.1.5 <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/releases">ruff's releases</a>.</em></p> <blockquote> <h2>v0.1.5</h2> <h2>Changes</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-bandit</code>] Implement <code>mako-templates</code> (<code>S702</code>) (<a href="https://github.com/astral-sh/ruff/pull/8533">#8533</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO105</code> (<a href="https://github.com/astral-sh/ruff/pull/8490">#8490</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO109</code> (<a href="https://github.com/astral-sh/ruff/pull/8534">#8534</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO110</code> (<a href="https://github.com/astral-sh/ruff/pull/8537">#8537</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO115</code> (<a href="https://github.com/astral-sh/ruff/pull/8486">#8486</a>)</li> <li>[<code>refurb</code>] Implement <code>type-none-comparison</code> (<code>FURB169</code>) (<a href="https://github.com/astral-sh/ruff/pull/8487">#8487</a>)</li> <li>Flag all comparisons against builtin types in <code>E721</code> (<a href="https://github.com/astral-sh/ruff/pull/8491">#8491</a>)</li> <li>Make <code>SIM118</code> fix as safe when the expression is a known dictionary (<a href="https://github.com/astral-sh/ruff/pull/8525">#8525</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix multiline lambda expression statement formatting (<a href="https://github.com/astral-sh/ruff/pull/8466">#8466</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add hidden <code>--extension</code> to override inference of source type from file extension (<a href="https://github.com/astral-sh/ruff/pull/8373">#8373</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Account for selector specificity when merging <code>extend_unsafe_fixes</code> and <code>override extend_safe_fixes</code> (<a href="https://github.com/astral-sh/ruff/pull/8444">#8444</a>)</li> <li>Add support for disabling cache with <code>RUFF_NO_CACHE</code> environment variable (<a href="https://github.com/astral-sh/ruff/pull/8538">#8538</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>E721</code>] Flag comparisons to <code>memoryview</code> (<a href="https://github.com/astral-sh/ruff/pull/8485">#8485</a>)</li> <li>Allow collapsed-ellipsis bodies in other statements (<a href="https://github.com/astral-sh/ruff/pull/8499">#8499</a>)</li> <li>Avoid <code>D301</code> autofix for <code>u</code> prefixed strings (<a href="https://github.com/astral-sh/ruff/pull/8495">#8495</a>)</li> <li>Only flag <code>flake8-trio</code> rules when <code>trio</code> import is present (<a href="https://github.com/astral-sh/ruff/pull/8550">#8550</a>)</li> <li>Reject more syntactically invalid Python programs (<a href="https://github.com/astral-sh/ruff/pull/8524">#8524</a>)</li> <li>Avoid raising <code>TRIO115</code> violations for <code>trio.sleep(...)</code> calls with non-number values (<a href="https://github.com/astral-sh/ruff/pull/8532">#8532</a>)</li> <li>Fix <code>F841</code> false negative on assignment to multiple variables (<a href="https://github.com/astral-sh/ruff/pull/8489">#8489</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Fix link to isort <code>known-first-party</code> (<a href="https://github.com/astral-sh/ruff/pull/8562">#8562</a>)</li> <li>Add notes on fix safety to a few rules (<a href="https://github.com/astral-sh/ruff/pull/8500">#8500</a>)</li> <li>Add missing toml config tabs (<a href="https://github.com/astral-sh/ruff/pull/8512">#8512</a>)</li> <li>Add instructions for configuration of Emacs (<a href="https://github.com/astral-sh/ruff/pull/8488">#8488</a>)</li> <li>Improve detail link contrast in dark mode (<a href="https://github.com/astral-sh/ruff/pull/8548">#8548</a>)</li> <li>Fix typo in example (<a href="https://github.com/astral-sh/ruff/pull/8506">#8506</a>)</li> <li>Added tabs for configuration files in the documentation (<a href="https://github.com/astral-sh/ruff/pull/8480">#8480</a>)</li> <li>Recommend <code>project.requires-python</code> over <code>target-version</code> (<a href="https://github.com/astral-sh/ruff/pull/8513">#8513</a>)</li> <li>Add singleton escape hatch to <code>B008</code> documentation (<a href="https://github.com/astral-sh/ruff/pull/8501">#8501</a>)</li> <li>Fix tab configuration docs (<a href="https://github.com/astral-sh/ruff/pull/8502">#8502</a>)</li> </ul> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md">ruff's changelog</a>.</em></p> <blockquote> <h2>0.1.5</h2> <h3>Preview features</h3> <ul> <li>[<code>flake8-bandit</code>] Implement <code>mako-templates</code> (<code>S702</code>) (<a href="https://github.com/astral-sh/ruff/pull/8533">#8533</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO105</code> (<a href="https://github.com/astral-sh/ruff/pull/8490">#8490</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO109</code> (<a href="https://github.com/astral-sh/ruff/pull/8534">#8534</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO110</code> (<a href="https://github.com/astral-sh/ruff/pull/8537">#8537</a>)</li> <li>[<code>flake8-trio</code>] Implement <code>TRIO115</code> (<a href="https://github.com/astral-sh/ruff/pull/8486">#8486</a>)</li> <li>[<code>refurb</code>] Implement <code>type-none-comparison</code> (<code>FURB169</code>) (<a href="https://github.com/astral-sh/ruff/pull/8487">#8487</a>)</li> <li>Flag all comparisons against builtin types in <code>E721</code> (<a href="https://github.com/astral-sh/ruff/pull/8491">#8491</a>)</li> <li>Make <code>SIM118</code> fix as safe when the expression is a known dictionary (<a href="https://github.com/astral-sh/ruff/pull/8525">#8525</a>)</li> </ul> <h3>Formatter</h3> <ul> <li>Fix multiline lambda expression statement formatting (<a href="https://github.com/astral-sh/ruff/pull/8466">#8466</a>)</li> </ul> <h3>CLI</h3> <ul> <li>Add hidden <code>--extension</code> to override inference of source type from file extension (<a href="https://github.com/astral-sh/ruff/pull/8373">#8373</a>)</li> </ul> <h3>Configuration</h3> <ul> <li>Account for selector specificity when merging <code>extend_unsafe_fixes</code> and <code>override extend_safe_fixes</code> (<a href="https://github.com/astral-sh/ruff/pull/8444">#8444</a>)</li> <li>Add support for disabling cache with <code>RUFF_NO_CACHE</code> environment variable (<a href="https://github.com/astral-sh/ruff/pull/8538">#8538</a>)</li> </ul> <h3>Bug fixes</h3> <ul> <li>[<code>E721</code>] Flag comparisons to <code>memoryview</code> (<a href="https://github.com/astral-sh/ruff/pull/8485">#8485</a>)</li> <li>Allow collapsed-ellipsis bodies in other statements (<a href="https://github.com/astral-sh/ruff/pull/8499">#8499</a>)</li> <li>Avoid <code>D301</code> autofix for <code>u</code> prefixed strings (<a href="https://github.com/astral-sh/ruff/pull/8495">#8495</a>)</li> <li>Only flag <code>flake8-trio</code> rules when <code>trio</code> import is present (<a href="https://github.com/astral-sh/ruff/pull/8550">#8550</a>)</li> <li>Reject more syntactically invalid Python programs (<a href="https://github.com/astral-sh/ruff/pull/8524">#8524</a>)</li> <li>Avoid raising <code>TRIO115</code> violations for <code>trio.sleep(...)</code> calls with non-number values (<a href="https://github.com/astral-sh/ruff/pull/8532">#8532</a>)</li> <li>Fix <code>F841</code> false negative on assignment to multiple variables (<a href="https://github.com/astral-sh/ruff/pull/8489">#8489</a>)</li> </ul> <h3>Documentation</h3> <ul> <li>Fix link to isort <code>known-first-party</code> (<a href="https://github.com/astral-sh/ruff/pull/8562">#8562</a>)</li> <li>Add notes on fix safety to a few rules (<a href="https://github.com/astral-sh/ruff/pull/8500">#8500</a>)</li> <li>Add missing toml config tabs (<a href="https://github.com/astral-sh/ruff/pull/8512">#8512</a>)</li> <li>Add instructions for configuration of Emacs (<a href="https://github.com/astral-sh/ruff/pull/8488">#8488</a>)</li> <li>Improve detail link contrast in dark mode (<a href="https://github.com/astral-sh/ruff/pull/8548">#8548</a>)</li> <li>Fix typo in example (<a href="https://github.com/astral-sh/ruff/pull/8506">#8506</a>)</li> <li>Added tabs for configuration files in the documentation (<a href="https://github.com/astral-sh/ruff/pull/8480">#8480</a>)</li> <li>Recommend <code>project.requires-python</code> over <code>target-version</code> (<a href="https://github.com/astral-sh/ruff/pull/8513">#8513</a>)</li> <li>Add singleton escape hatch to <code>B008</code> documentation (<a href="https://github.com/astral-sh/ruff/pull/8501">#8501</a>)</li> <li>Fix tab configuration docs (<a href="https://github.com/astral-sh/ruff/pull/8502">#8502</a>)</li> </ul> <h2>0.1.4</h2> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/astral-sh/ruff/commit/3956f38999ff7c036e9d1ac9410b3eff834cb158"><code>3956f38</code></a> Prepare release 0.1.5 (<a href="https://github.com/astral-sh/ruff/issues/8570">#8570</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/fe9727ac38db6d3b8ab3efcbf4e1766eb2ec9736"><code>fe9727a</code></a> Add <code>rooster</code> release management configuration and instructions (<a href="https://github.com/astral-sh/ruff/issues/8567">#8567</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/3ebaca52464e1db3d808adca9c3de09b90dabfaf"><code>3ebaca5</code></a> Doc: Fix link to isort <code>known-first-party</code> (<a href="https://github.com/astral-sh/ruff/issues/8562">#8562</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/7391f74cbcf24b9c09244a3376bbb2a0ca8929d4"><code>7391f74</code></a> Add hidden <code>--extension</code> to override inference of source type from file exten...</li> <li><a href="https://github.com/astral-sh/ruff/commit/71e93a9fa40d98414c7859b827dac7d6eda7d523"><code>71e93a9</code></a> Only flag flake8-trio rule when trio is present (<a href="https://github.com/astral-sh/ruff/issues/8550">#8550</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/e2c7b1ece6db83af919c4c2e006bf00496d7fa73"><code>e2c7b1e</code></a> [TRIO] Add TRIO109 rule (<a href="https://github.com/astral-sh/ruff/issues/8534">#8534</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/621e98f4523267526391947154bb9f64fdb8c9c6"><code>621e98f</code></a> Improve detail link contrast in dark mode (<a href="https://github.com/astral-sh/ruff/issues/8548">#8548</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/0126f74c29c5647295bebf4b42d79f12b7ffd8e4"><code>0126f74</code></a> Add TRIO110 rule (<a href="https://github.com/astral-sh/ruff/issues/8537">#8537</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/fce9f634180989089d6f761913b34d7219a10138"><code>fce9f63</code></a> [<code>flake8-bandit</code>] Implement <code>mako-templates</code> (<code>S702</code>) (<a href="https://github.com/astral-sh/ruff/issues/8533">#8533</a>)</li> <li><a href="https://github.com/astral-sh/ruff/commit/ce549e75bc93e200f82b3bde48167efb60f8f750"><code>ce549e7</code></a> Update pre-commit documentation (<a href="https://github.com/astral-sh/ruff/issues/8545">#8545</a>)</li> <li>Additional commits viewable in <a href="https://github.com/astral-sh/ruff/compare/v0.1.3...v0.1.5">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore <dependency name> major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself) - `@dependabot ignore <dependency name> minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself) - `@dependabot ignore <dependency name>` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself) - `@dependabot unignore <dependency name>` will remove all of the ignore conditions of the specified dependency - `@dependabot unignore <dependency name> <ignore condition>` will remove the ignore condition of the specified dependency and ignore conditions </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
….4,>=3.3 to >=3.3,<3.5 (#5551) Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.4.0 (2023-11-11)</h1> <h2>Features</h2> <ul> <li> <p><code>[#963](pytest-dev/pytest-xdist#963) <https://github.com/pytest-dev/pytest-xdist/issues/963></code>_: Wait for workers to finish reporting when test run stops early.</p> <p>This makes sure that the results of in-progress tests are displayed. Previously these reports were being discarded, losing information about the test run.</p> </li> <li> <p><code>[#965](pytest-dev/pytest-xdist#965) <https://github.com/pytest-dev/pytest-xdist/issues/965></code>_: Added support for Python 3.12.</p> </li> </ul> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](pytest-dev/pytest-xdist#907) <https://github.com/pytest-dev/pytest-xdist/issues/907></code>_: Avoid remote calls during startup as <code>execnet</code> 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 <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96></code>__).</p> </li> </ul> <h1>pytest-xdist 3.3.0 (2023-05-12)</h1> <h2>Features</h2> <ul> <li><code>[#555](pytest-dev/pytest-xdist#555) <https://github.com/pytest-dev/pytest-xdist/issues/555></code>_: Improved progress output when collecting nodes to be less verbose.</li> </ul> <h1>pytest-xdist 3.2.1 (2023-03-12)</h1> <h2>Bug Fixes</h2> <ul> <li><code>[#884](pytest-dev/pytest-xdist#884) <https://github.com/pytest-dev/pytest-xdist/issues/884></code>_: Fixed hang in <code>worksteal</code> scheduler.</li> </ul> <h1>pytest-xdist 3.2.0 (2023-02-07)</h1> <p>Improved Documentation</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/a6b56112f9b686aed7a354e0d50ecc26ad2d9dfe"><code>a6b5611</code></a> Update CHANGELOG</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/64f9388f4164e9f64d98a7580933e958ea4a09d5"><code>64f9388</code></a> Add support for Python 3.12</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/230ba6ad1057574c9f3d42a97f890788cd9ec6c3"><code>230ba6a</code></a> Properly wait for workers when test run terminates early (<a href="https://github.com/pytest-dev/pytest-xdist/issues/963">#963</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/93ca202b400eecc62919bcd9b0bab001e3f3f7ef"><code>93ca202</code></a> fix typo index -> instead</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/8f3d1ad92f02a251bcae5dc648a70c3f30ece364"><code>8f3d1ad</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/ab3d6a9ee5aa4145fde339823ab1605c02f28ba4"><code>ab3d6a9</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/955">#955</a> from pytest-dev/pre-commit-ci-update-config</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/a5210d41034b2f48f2df05d2b62b0fb3495f346f"><code>a5210d4</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/0b6b9c3c3858d05c353a14b29c58c8c3f63ae437"><code>0b6b9c3</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/954">#954</a> from pytest-dev/pre-commit-ci-update-config</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/838434c269a225bef167fa4314df905b97b9e958"><code>838434c</code></a> Install requirements.txt while building docs</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/b85a4717f96e2b40910aaa289428671779cb6ecb"><code>b85a471</code></a> Add docs/requirements.txt</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.3.0...v3.4.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) Updates the requirements on [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) to permit the latest version. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/pytest-dev/pytest-xdist/blob/master/CHANGELOG.rst">pytest-xdist's changelog</a>.</em></p> <blockquote> <h1>pytest-xdist 3.5.0 (2023-11-21)</h1> <h2>Features</h2> <ul> <li><code>[#632](pytest-dev/pytest-xdist#632) <https://github.com/pytest-dev/pytest-xdist/issues/632></code>_: <code>--dist=loadscope</code> 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.</li> </ul> <h1>pytest-xdist 3.4.0 (2023-11-11)</h1> <h2>Features</h2> <ul> <li> <p><code>[#963](pytest-dev/pytest-xdist#963) <https://github.com/pytest-dev/pytest-xdist/issues/963></code>_: Wait for workers to finish reporting when test run stops early.</p> <p>This makes sure that the results of in-progress tests are displayed. Previously these reports were being discarded, losing information about the test run.</p> </li> <li> <p><code>[#965](pytest-dev/pytest-xdist#965) <https://github.com/pytest-dev/pytest-xdist/issues/965></code>_: Added support for Python 3.12.</p> </li> </ul> <h1>pytest-xdist 3.3.1 (2023-05-19)</h1> <h2>Bug Fixes</h2> <ul> <li> <p><code>[#907](pytest-dev/pytest-xdist#907) <https://github.com/pytest-dev/pytest-xdist/issues/907></code>_: Avoid remote calls during startup as <code>execnet</code> 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 <code>asyncio</code>, <code>anyio</code>, <code>PyQt/PySide</code>, etc.</p> <p>A more safe correction will require thread affinity in <code>execnet</code> (<code>pytest-dev/execnet#96 <https://github.com/pytest-dev/execnet/issues/96></code>__).</p> </li> </ul> <h1>pytest-xdist 3.3.0 (2023-05-12)</h1> <h2>Features</h2> <ul> <li><code>[#555](pytest-dev/pytest-xdist#555) <https://github.com/pytest-dev/pytest-xdist/issues/555></code>_: Improved progress output when collecting nodes to be less verbose.</li> </ul> <h1>pytest-xdist 3.2.1 (2023-03-12)</h1> <p>Bug Fixes</p> <!-- raw HTML omitted --> </blockquote> <p>... (truncated)</p> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/95b309e980796a261045d770f69c016ca741473d"><code>95b309e</code></a> Release 3.5.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/3fe877bc6d7211f31e55d2d561803f76ea95b935"><code>3fe877b</code></a> LoadScope scheduler: Sort scopes by number of tests to assign biggest scopes ...</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/f36ea25cb53cb960037f4a8510816b81fa313035"><code>f36ea25</code></a> Create GitHub release after deploy (<a href="https://github.com/pytest-dev/pytest-xdist/issues/973">#973</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/d81f57508d064915fc16ace5dea4d43406db2ba0"><code>d81f575</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/969">#969</a> from pytest-dev/pre-commit-ci-update-config</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/1d2616418c046d0e6f059b8f76e35a0627409616"><code>1d26164</code></a> [pre-commit.ci] pre-commit autoupdate</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/5f43575b42d6d4c0078de807880b8b0791b75823"><code>5f43575</code></a> Merge pull request <a href="https://github.com/pytest-dev/pytest-xdist/issues/966">#966</a> from pytest-dev/release-3.4.0</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/a6b56112f9b686aed7a354e0d50ecc26ad2d9dfe"><code>a6b5611</code></a> Update CHANGELOG</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/64f9388f4164e9f64d98a7580933e958ea4a09d5"><code>64f9388</code></a> Add support for Python 3.12</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/230ba6ad1057574c9f3d42a97f890788cd9ec6c3"><code>230ba6a</code></a> Properly wait for workers when test run terminates early (<a href="https://github.com/pytest-dev/pytest-xdist/issues/963">#963</a>)</li> <li><a href="https://github.com/pytest-dev/pytest-xdist/commit/93ca202b400eecc62919bcd9b0bab001e3f3f7ef"><code>93ca202</code></a> fix typo index -> instead</li> <li>Additional commits viewable in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v2.1.0...v3.5.0">compare view</a></li> </ul> </details> <br /> Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
hi -
i dont have a local reproducer here but since pytest-xdist 3.3.0 was released SQLAlchemy is seeing failures on github action nodes that use the virtualized "arm64" architecture - example failures:
https://github.com/sqlalchemy/sqlalchemy/actions/runs/4962771769/jobs/8881240949
https://github.com/sqlalchemy/sqlalchemy/actions/runs/4964655654/jobs/8884945438
https://github.com/sqlalchemy/sqlalchemy/actions/runs/4973604221/jobs/8899553346
stack traces look like this:
The text was updated successfully, but these errors were encountered: