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

LoadScope scheduler: Sort scopes by number of tests to assign biggest scopes first #632

Conversation

joekohlsdorf
Copy link

In the real world, test scopes aren't equal: Some have just a few tests which take little time to run while others can have a large amount of tests taking longer to finish.
With the current implementation it can happen that the scheduler assigns a scope with a large amount of tests very late in the run, often we see a single worker still running tests of a large scope while all other workers are idle because all other scopes have finished running.

This PR inserts scopes into the workqueue sorted by the amount of tests. The idea is to begin testing with the biggest scopes so that small scopes can essentially be bin packed late in the run so that all workers finish processing roughly at the same time.

I am aware that the number of tests is not the best indicator for test runtime but it is better than random scope assignment.
We have developed a more sophisticated version sorting with timings from previous test runs but unfortunately it requires external tooling.

@joekohlsdorf joekohlsdorf force-pushed the perf/sort_scopes_by_number_of_tests branch 2 times, most recently from 012ccda to eda686d Compare February 24, 2021 20:54
@joekohlsdorf joekohlsdorf force-pushed the perf/sort_scopes_by_number_of_tests branch from eda686d to b131e41 Compare February 24, 2021 20:59
@joekohlsdorf joekohlsdorf changed the title feature: LoadScope scheduler: Sort scopes by number of tests to assign biggest scopes first LoadScope scheduler: Sort scopes by number of tests to assign biggest scopes first Feb 24, 2021
Copy link
Member

@nicoddemus nicoddemus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @joekohlsdorf,

Really sorry, seems we have missed this PR completely.

The idea sounds good to me, however in order to get this merge we also need a test that demonstrates this behavior (and fails without your patch of course). This ensures this works and avoids future regressions.

@nicoddemus
Copy link
Member

Closing for now, feel free to reopen if you want to tackle this again. 👍

@nicoddemus nicoddemus closed this Nov 28, 2021
github-actions bot added a commit to mikelane/reddit-get that referenced this pull request Nov 22, 2023
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from
3.4.0 to 3.5.0.
<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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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>
</blockquote>
</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://redirect.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://redirect.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://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a>
from pytest-dev/release-3.4.0</li>
<li>See full diff in <a
href="https://github.com/pytest-dev/pytest-xdist/compare/v3.4.0...v3.5.0">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.4.0&new-version=3.5.0)](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 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>
github-actions bot added a commit to luqasz/librouteros that referenced this pull request Nov 22, 2023
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from
3.4.0 to 3.5.0.
<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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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>
</blockquote>
</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://redirect.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://redirect.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://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a>
from pytest-dev/release-3.4.0</li>
<li>See full diff in <a
href="https://github.com/pytest-dev/pytest-xdist/compare/v3.4.0...v3.5.0">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.4.0&new-version=3.5.0)](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 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>
github-actions bot pushed a commit to ryankanno/py-golf-games that referenced this pull request Nov 27, 2023
Bumps the dev group with 4 updates: [ipython](https://github.com/ipython/ipython), [mypy](https://github.com/python/mypy), [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) and [hypothesis](https://github.com/HypothesisWorks/hypothesis).

Updates `ipython` from 8.17.2 to 8.18.0
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/ipython/ipython/commit/928881c53ca837390c001e972ed2945c3309f9f3"><code>928881c</code></a> release 8.18.0</li>
<li><a href="https://github.com/ipython/ipython/commit/4897500b0582a3ba9da61cc6cd21fef3901c9e5a"><code>4897500</code></a> whats new 8.18.0 (<a href="https://redirect.github.com/ipython/ipython/issues/14253">#14253</a>)</li>
<li><a href="https://github.com/ipython/ipython/commit/d563354c03ce8721ef0b5c5e66186d9fa74bfa8b"><code>d563354</code></a> whats new 8.18.0</li>
<li><a href="https://github.com/ipython/ipython/commit/c0a699d1432d72e687d407c3424aaf26dbff0e49"><code>c0a699d</code></a> Fix memory leak in Qt event loop integration (<a href="https://redirect.github.com/ipython/ipython/issues/14240">#14240</a>) (<a href="https://redirect.github.com/ipython/ipython/issues/14251">#14251</a>)</li>
<li><a href="https://github.com/ipython/ipython/commit/c7aea08fe305f667e101fbde50cd3be5aec57fa1"><code>c7aea08</code></a> Fix pickleshare warning on completion (<a href="https://redirect.github.com/ipython/ipython/issues/14252">#14252</a>)</li>
<li><a href="https://github.com/ipython/ipython/commit/ec51c50f300de0eb94548582888796102ff2872a"><code>ec51c50</code></a> Silence PickleShare warnings when completing root modules.</li>
<li><a href="https://github.com/ipython/ipython/commit/b033ecc88f92e8d83b9679de666e142175d4dd6b"><code>b033ecc</code></a> Clarify comment in IPython/terminal/pt_inputhooks/qt.py</li>
<li><a href="https://github.com/ipython/ipython/commit/1e91131cbfcfed1ad654e6750b934bdcbdd394d2"><code>1e91131</code></a> Fix memory leak in Qt event loop integration (<a href="https://redirect.github.com/ipython/ipython/issues/14240">#14240</a>)</li>
<li><a href="https://github.com/ipython/ipython/commit/225a1a2699f328c1b4a0ded2de1f7af9f731ad55"><code>225a1a2</code></a> Fix inputhook integration - Pass inputhook as an argument to Promptsesion.run...</li>
<li><a href="https://github.com/ipython/ipython/commit/ed21ac64a1ac7066b21e616d357314d92d922651"><code>ed21ac6</code></a> Fix list pygments styles example (<a href="https://redirect.github.com/ipython/ipython/issues/14245">#14245</a>)</li>
<li>Additional commits viewable in <a href="https://github.com/ipython/ipython/compare/8.17.2...8.18.0">compare view</a></li>
</ul>
</details>
<br />

Updates `mypy` from 1.7.0 to 1.7.1
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/python/mypy/commit/6b3c41838d8e7a39242b6fd035535e2d76eabfc6"><code>6b3c418</code></a> Update version to 1.7.1 (without +dev)</li>
<li><a href="https://github.com/python/mypy/commit/c10e17348f2eacbbeae80eb6c10c661c0137d849"><code>c10e173</code></a> [mypyc] Fix regression with nested functions (<a href="https://redirect.github.com/python/mypy/issues/16484">#16484</a>)</li>
<li><a href="https://github.com/python/mypy/commit/e6399d10b0a1cdb104559482fad1b4dc0e2de6ac"><code>e6399d1</code></a> Fix polymorphic application for callback protocols (<a href="https://redirect.github.com/python/mypy/issues/16514">#16514</a>)</li>
<li><a href="https://github.com/python/mypy/commit/661adb756800ecc40fabbe62e9339efd253aff4e"><code>661adb7</code></a> Fix crash on strict-equality with recursive types (<a href="https://redirect.github.com/python/mypy/issues/16483">#16483</a>)</li>
<li><a href="https://github.com/python/mypy/commit/6c8e0cc47c014894ea41621a10f3d1b465322362"><code>6c8e0cc</code></a> Ignore position if imprecise arguments are matched by name (<a href="https://redirect.github.com/python/mypy/issues/16471">#16471</a>)</li>
<li><a href="https://github.com/python/mypy/commit/5c354c41c0fbb74418afcbd30ba822694be28d11"><code>5c354c4</code></a> Fix missing meet case exposed by len narrowing (<a href="https://redirect.github.com/python/mypy/issues/16470">#16470</a>)</li>
<li><a href="https://github.com/python/mypy/commit/88791cabe0521f77b699405154d90f3bb7c6b31b"><code>88791ca</code></a> Exclude private attributes from override checks (<a href="https://redirect.github.com/python/mypy/issues/16464">#16464</a>)</li>
<li><a href="https://github.com/python/mypy/commit/4b5b316beb570bba4c9b7797deb2e6d7df0552d0"><code>4b5b316</code></a> Special-case unions in polymorphic inference (<a href="https://redirect.github.com/python/mypy/issues/16461">#16461</a>)</li>
<li><a href="https://github.com/python/mypy/commit/f862d3ef540c38e7efd2fffd64fc732d6318dfb4"><code>f862d3e</code></a> Fix crash on Callable self in <strong>call</strong> (<a href="https://redirect.github.com/python/mypy/issues/16453">#16453</a>)</li>
<li><a href="https://github.com/python/mypy/commit/fe79a59e44299a3cc8025aa5084e08773c872a54"><code>fe79a59</code></a> Bump version to 1.7.1+dev</li>
<li>See full diff in <a href="https://github.com/python/mypy/compare/v1.7.0...v1.7.1">compare view</a></li>
</ul>
</details>
<br />

Updates `pytest-xdist` from 3.4.0 to 3.5.0
<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) &lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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>
</blockquote>
</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://redirect.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://redirect.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://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a> from pytest-dev/release-3.4.0</li>
<li>See full diff in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.4.0...v3.5.0">compare view</a></li>
</ul>
</details>
<br />

Updates `hypothesis` from 6.89.1 to 6.90.0
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/HypothesisWorks/hypothesis/commit/7fad347fdc1552057b9c33b37f036d62b029c86c"><code>7fad347</code></a> Bump hypothesis-python version to 6.90.0 and update changelog</li>
<li><a href="https://github.com/HypothesisWorks/hypothesis/commit/04d86ccf0624bf1af42f435cab7de6cbc2939e41"><code>04d86cc</code></a> Merge pull request <a href="https://redirect.github.com/HypothesisWorks/hypothesis/issues/3794">#3794</a> from HypothesisWorks/create-pull-request/patch</li>
<li><a href="https://github.com/HypothesisWorks/hypothesis/commit/b5ce73a517ecb08b45e85d0133f8b91ea2320fcb"><code>b5ce73a</code></a> Error on pointless class attribute</li>
<li><a href="https://github.com/HypothesisWorks/hypothesis/commit/fdf1c4fc7ed4ea6678e4d223e4414304540dbf88"><code>fdf1c4f</code></a> Updates for mypy</li>
<li><a href="https://github.com/HypothesisWorks/hypothesis/commit/405c19b4e355021b45735627be1558a131fc6677"><code>405c19b</code></a> Update pinned dependencies</li>
<li>See full diff in <a href="https://github.com/HypothesisWorks/hypothesis/compare/hypothesis-python-6.89.1...hypothesis-python-6.90.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 <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>
github-actions bot pushed a commit to ryankanno/cookiecutter-py that referenced this pull request Nov 27, 2023
Bumps the dev group with 2 updates: [mypy](https://github.com/python/mypy) and [pytest-xdist](https://github.com/pytest-dev/pytest-xdist).

Updates `mypy` from 1.7.0 to 1.7.1
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/python/mypy/commit/6b3c41838d8e7a39242b6fd035535e2d76eabfc6"><code>6b3c418</code></a> Update version to 1.7.1 (without +dev)</li>
<li><a href="https://github.com/python/mypy/commit/c10e17348f2eacbbeae80eb6c10c661c0137d849"><code>c10e173</code></a> [mypyc] Fix regression with nested functions (<a href="https://redirect.github.com/python/mypy/issues/16484">#16484</a>)</li>
<li><a href="https://github.com/python/mypy/commit/e6399d10b0a1cdb104559482fad1b4dc0e2de6ac"><code>e6399d1</code></a> Fix polymorphic application for callback protocols (<a href="https://redirect.github.com/python/mypy/issues/16514">#16514</a>)</li>
<li><a href="https://github.com/python/mypy/commit/661adb756800ecc40fabbe62e9339efd253aff4e"><code>661adb7</code></a> Fix crash on strict-equality with recursive types (<a href="https://redirect.github.com/python/mypy/issues/16483">#16483</a>)</li>
<li><a href="https://github.com/python/mypy/commit/6c8e0cc47c014894ea41621a10f3d1b465322362"><code>6c8e0cc</code></a> Ignore position if imprecise arguments are matched by name (<a href="https://redirect.github.com/python/mypy/issues/16471">#16471</a>)</li>
<li><a href="https://github.com/python/mypy/commit/5c354c41c0fbb74418afcbd30ba822694be28d11"><code>5c354c4</code></a> Fix missing meet case exposed by len narrowing (<a href="https://redirect.github.com/python/mypy/issues/16470">#16470</a>)</li>
<li><a href="https://github.com/python/mypy/commit/88791cabe0521f77b699405154d90f3bb7c6b31b"><code>88791ca</code></a> Exclude private attributes from override checks (<a href="https://redirect.github.com/python/mypy/issues/16464">#16464</a>)</li>
<li><a href="https://github.com/python/mypy/commit/4b5b316beb570bba4c9b7797deb2e6d7df0552d0"><code>4b5b316</code></a> Special-case unions in polymorphic inference (<a href="https://redirect.github.com/python/mypy/issues/16461">#16461</a>)</li>
<li><a href="https://github.com/python/mypy/commit/f862d3ef540c38e7efd2fffd64fc732d6318dfb4"><code>f862d3e</code></a> Fix crash on Callable self in <strong>call</strong> (<a href="https://redirect.github.com/python/mypy/issues/16453">#16453</a>)</li>
<li><a href="https://github.com/python/mypy/commit/fe79a59e44299a3cc8025aa5084e08773c872a54"><code>fe79a59</code></a> Bump version to 1.7.1+dev</li>
<li>See full diff in <a href="https://github.com/python/mypy/compare/v1.7.0...v1.7.1">compare view</a></li>
</ul>
</details>
<br />

Updates `pytest-xdist` from 3.4.0 to 3.5.0
<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) &lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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>
</blockquote>
</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://redirect.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://redirect.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://redirect.github.com/pytest-dev/pytest-xdist/issues/966">#966</a> from pytest-dev/release-3.4.0</li>
<li>See full diff in <a href="https://github.com/pytest-dev/pytest-xdist/compare/v3.4.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 <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>
Ave44 pushed a commit to UniversityOfGdanskTeamPython/epseon_gui that referenced this pull request Nov 28, 2023
Bumps [pytest-xdist](https://github.com/pytest-dev/pytest-xdist) from
3.3.1 to 3.5.0.
<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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/963&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/965&gt;</code>_:
Added support for Python 3.12.</p>
</li>
</ul>
</blockquote>
</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://redirect.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://redirect.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://redirect.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://redirect.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 -&gt; instead</li>
<li>Additional commits viewable in <a
href="https://github.com/pytest-dev/pytest-xdist/compare/v3.3.1...v3.5.0">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.1&new-version=3.5.0)](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 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>
mhils pushed a commit to mitmproxy/mitmproxy that referenced this pull request Dec 2, 2023
)

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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/632&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/963&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/965&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/907&gt;</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
&lt;https://github.com/pytest-dev/execnet/issues/96&gt;</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)
&lt;https://github.com/pytest-dev/pytest-xdist/issues/555&gt;</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://redirect.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://redirect.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://redirect.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://redirect.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 -&gt; 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>
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.

2 participants