apache / libcloud

Apache Libcloud is a Python library which hides differences between different cloud provider APIs and allows you to manage different cloud resources through a unified and easy to use API.
https://libcloud.apache.org
Apache License 2.0
2.03k stars 928 forks source link

Bump pytest from 7.4.0 to 8.0.2 #1994

Closed dependabot[bot] closed 2 months ago

dependabot[bot] commented 4 months ago

Bumps pytest from 7.4.0 to 8.0.2.

Release notes

Sourced from pytest's releases.

8.0.2

pytest 8.0.2 (2024-02-24)

Bug Fixes

  • #11895: Fix collection on Windows where initial paths contain the short version of a path (for example c:\PROGRA~1\tests).
  • #11953: Fix an IndexError crash raising from getstatementrange_ast.
  • #12021: Reverted a fix to [--maxfail]{.title-ref} handling in pytest 8.0.0 because it caused a regression in pytest-xdist whereby session fixture teardowns may get executed multiple times when the max-fails is reached.

8.0.1

pytest 8.0.1 (2024-02-16)

Bug Fixes

  • #11875: Correctly handle errors from getpass.getuser{.interpreted-text role="func"} in Python 3.13.
  • #11879: Fix an edge case where ExceptionInfo._stringify_exception could crash pytest.raises{.interpreted-text role="func"}.
  • #11906: Fix regression with pytest.warns{.interpreted-text role="func"} using custom warning subclasses which have more than one parameter in their [__init__]{.title-ref}.
  • #11907: Fix a regression in pytest 8.0.0 whereby calling pytest.skip{.interpreted-text role="func"} and similar control-flow exceptions within a pytest.warns(){.interpreted-text role="func"} block would get suppressed instead of propagating.
  • #11929: Fix a regression in pytest 8.0.0 whereby autouse fixtures defined in a module get ignored by the doctests in the module.
  • #11937: Fix a regression in pytest 8.0.0 whereby items would be collected in reverse order in some circumstances.

pytest 8.0.0 (2024-01-27)

See 8.0.0rc1 and 8.0.0rc2 for the full changes since pytest 7.4!

Bug Fixes

  • #11842: Properly escape the reason of a skip <pytest.mark.skip ref>{.interpreted-text role="ref"} mark when writing JUnit XML files.
  • #11861: Avoid microsecond exceeds 1_000_000 when using log-date-format with %f specifier, which might cause the test suite to crash.

8.0.0rc2

pytest 8.0.0rc2 (2024-01-17)

Improvements

  • #11233: Improvements to -r for xfailures and xpasses:
    • Report tracebacks for xfailures when -rx is set.
    • Report captured output for xpasses when -rX is set.
    • For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
  • #11825: The pytest_plugin_registered{.interpreted-text role="hook"} hook has a new plugin_name parameter containing the name by which plugin is registered.

Bug Fixes

  • #11706: Fix reporting of teardown errors in higher-scoped fixtures when using [--maxfail]{.title-ref} or [--stepwise]{.title-ref}.

... (truncated)

Commits
  • 31afeeb Prepare release version 8.0.2
  • 1b00a2f Merge pull request #12025 from pytest-dev/backport-12022-to-8.0.x
  • ff2f66d [8.0.x] Revert "Fix teardown error reporting when --maxfail=1 (#11721)"
  • 8a8eed6 [8.0.x] Fix collection of short paths on Windows (#12024)
  • 74346f0 [8.0.x] Allow Sphinx 7.x (#12005)
  • b7657b4 [8.0.x] Disallow Sphinx 6 and 7 (#12001)
  • feb7c5e Merge pull request #11999 from pytest-dev/backport-11996-to-8.0.x
  • 0909655 [8.0.x] code: fix IndexError crash in getstatementrange_ast
  • 68524d4 Merge pull request #11993 from pytest-dev/release-8.0.1
  • d7d320a Prepare release version 8.0.1
  • Additional commits viewable in compare view


Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options
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 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)

Note Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

Kami commented 2 months ago

Will be able to upgrade once this PR is merged - https://github.com/apache/libcloud/pull/1941

dependabot[bot] commented 2 months ago

A newer version of pytest exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

Kami commented 2 months ago

https://github.com/apache/libcloud/pull/1941 has been merged, but it looks like something else is going on with pytest-xdist plugin and a race condition is bubbling up on each run. I need to dig in more to see why that is the case.

Kami commented 2 months ago

It looks like collection loading mechanism changes in pytest 8.0 (https://docs.pytest.org/en/stable/changelog.html#collection-changes) identified all kinds of cross test pollution and race conditions which only manifest itself when running tests in parallel in specific order.

I'm trying to fix it, but it's somewhat problematic since it relies on test ordering and distribution across workers so I can't reliably reproduce it locally.

Kami commented 2 months ago

I believe I addressed all the cross test pollution related issue which were causing test failures. I will merge this PR into trunk.

codecov-commenter commented 2 months ago

Codecov Report

Merging #1994 (532bb18) into trunk (4a01372) will increase coverage by 0.00%. The diff coverage is 100.00%.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## trunk #1994 +/- ## ======================================= Coverage 83.20% 83.20% ======================================= Files 353 353 Lines 81453 81471 +18 Branches 8594 8594 ======================================= + Hits 67769 67787 +18 Misses 10874 10874 Partials 2810 2810 ``` | [Files](https://app.codecov.io/gh/apache/libcloud/pull/1994?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Coverage Δ | | |---|---|---| | [libcloud/test/\_\_init\_\_.py](https://app.codecov.io/gh/apache/libcloud/pull/1994?src=pr&el=tree&filepath=libcloud%2Ftest%2F__init__.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-bGliY2xvdWQvdGVzdC9fX2luaXRfXy5weQ==) | `87.50% <100.00%> (ø)` | | | [libcloud/test/common/test\_digitalocean\_v2.py](https://app.codecov.io/gh/apache/libcloud/pull/1994?src=pr&el=tree&filepath=libcloud%2Ftest%2Fcommon%2Ftest_digitalocean_v2.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-bGliY2xvdWQvdGVzdC9jb21tb24vdGVzdF9kaWdpdGFsb2NlYW5fdjIucHk=) | `100.00% <100.00%> (ø)` | | | [libcloud/test/compute/test\_digitalocean\_v2.py](https://app.codecov.io/gh/apache/libcloud/pull/1994?src=pr&el=tree&filepath=libcloud%2Ftest%2Fcompute%2Ftest_digitalocean_v2.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-bGliY2xvdWQvdGVzdC9jb21wdXRlL3Rlc3RfZGlnaXRhbG9jZWFuX3YyLnB5) | `99.48% <100.00%> (+0.01%)` | :arrow_up: | | [libcloud/test/dns/test\_digitalocean.py](https://app.codecov.io/gh/apache/libcloud/pull/1994?src=pr&el=tree&filepath=libcloud%2Ftest%2Fdns%2Ftest_digitalocean.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-bGliY2xvdWQvdGVzdC9kbnMvdGVzdF9kaWdpdGFsb2NlYW4ucHk=) | `91.18% <100.00%> (+0.45%)` | :arrow_up: | | [libcloud/test/test\_init.py](https://app.codecov.io/gh/apache/libcloud/pull/1994?src=pr&el=tree&filepath=libcloud%2Ftest%2Ftest_init.py&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-bGliY2xvdWQvdGVzdC90ZXN0X2luaXQucHk=) | `87.93% <100.00%> (+0.66%)` | :arrow_up: |