-
Notifications
You must be signed in to change notification settings - Fork 0
Commit 5e46774
authored
Update dependency pytest to v8 (#40)
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [pytest](https://github.com/pytest-dev/pytest)
([changelog](https://docs.pytest.org/en/stable/changelog.html)) |
`^7.2.0` -> `^8.0.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>pytest-dev/pytest (pytest)</summary>
###
[`v8.1.1`](https://github.com/pytest-dev/pytest/releases/tag/8.1.1)
[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.1.0...8.1.1)
# pytest 8.1.1 (2024-03-08)
::: {.note}
::: {.title}
Note
:::
This release is not a usual bug fix release -- it contains features and
improvements, being a follow up
to `8.1.0`, which has been yanked from PyPI.
:::
## Features
- [#​11475](https://github.com/pytest-dev/pytest/issues/11475):
Added the new `consider_namespace_packages`{.interpreted-text
role="confval"} configuration option, defaulting to `False`.
If set to `True`, pytest will attempt to identify modules that are part
of [namespace
packages](https://packaging.python.org/en/latest/guides/packaging-namespace-packages)
when importing modules.
- [#​11653](https://github.com/pytest-dev/pytest/issues/11653):
Added the new `verbosity_test_cases`{.interpreted-text role="confval"}
configuration option for fine-grained control of test execution
verbosity.
See `Fine-grained verbosity
<pytest.fine_grained_verbosity>`{.interpreted-text role="ref"} for more
details.
## Improvements
- [#​10865](https://github.com/pytest-dev/pytest/issues/10865):
`pytest.warns`{.interpreted-text role="func"} now validates that
`warnings.warn`{.interpreted-text role="func"} was called with a
\[str]{.title-ref} or a \[Warning]{.title-ref}.
Currently in Python it is possible to use other types, however this
causes an exception when `warnings.filterwarnings`{.interpreted-text
role="func"} is used to filter those warnings (see [CPython
#​103577](https://github.com/python/cpython/issues/103577) for a
discussion).
While this can be considered a bug in CPython, we decided to put guards
in pytest as the error message produced without this check in place is
confusing.
- [#​11311](https://github.com/pytest-dev/pytest/issues/11311):
When using `--override-ini` for paths in invocations without a
configuration file defined, the current working directory is used
as the relative directory.
Previoulsy this would raise an `AssertionError`{.interpreted-text
role="class"}.
- [#​11475](https://github.com/pytest-dev/pytest/issues/11475):
`--import-mode=importlib <import-mode-importlib>`{.interpreted-text
role="ref"} now tries to import modules using the standard import
mechanism (but still without changing :py`sys.path`{.interpreted-text
role="data"}), falling back to importing modules directly only if that
fails.
This means that installed packages will be imported under their
canonical name if possible first, for example `app.core.models`, instead
of having the module name always be derived from their path (for example
`.env310.lib.site_packages.app.core.models`).
- [#​11801](https://github.com/pytest-dev/pytest/issues/11801):
Added the `iter_parents()
<_pytest.nodes.Node.iter_parents>`{.interpreted-text role="func"} helper
method on nodes.
It is similar to `listchain
<_pytest.nodes.Node.listchain>`{.interpreted-text role="func"}, but goes
from bottom to top, and returns an iterator, not a list.
- [#​11850](https://github.com/pytest-dev/pytest/issues/11850):
Added support for `sys.last_exc`{.interpreted-text role="data"} for
post-mortem debugging on Python>=3.12.
- [#​11962](https://github.com/pytest-dev/pytest/issues/11962):
In case no other suitable candidates for configuration file are found, a
`pyproject.toml` (even without a `[tool.pytest.ini_options]` table) will
be considered as the configuration file and define the `rootdir`.
- [#​11978](https://github.com/pytest-dev/pytest/issues/11978):
Add `--log-file-mode` option to the logging plugin, enabling appending
to log-files. This option accepts either `"w"` or `"a"` and defaults to
`"w"`.
Previously, the mode was hard-coded to be `"w"` which truncates the file
before logging.
- [#​12047](https://github.com/pytest-dev/pytest/issues/12047):
When multiple finalizers of a fixture raise an exception, now all
exceptions are reported as an exception group.
Previously, only the first exception was reported.
## Bug Fixes
- [#​11475](https://github.com/pytest-dev/pytest/issues/11475):
Fixed regression where `--importmode=importlib` would import non-test
modules more than once.
- [#​11904](https://github.com/pytest-dev/pytest/issues/11904):
Fixed a regression in pytest 8.0.0 that would cause test collection to
fail due to permission errors when using `--pyargs`.
This change improves the collection tree for tests specified using
`--pyargs`, see `12043`{.interpreted-text role="pull"} for a comparison
with pytest 8.0 and <8.
- [#​12011](https://github.com/pytest-dev/pytest/issues/12011):
Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures
are not executed when `--doctest-modules` is passed.
- [#​12014](https://github.com/pytest-dev/pytest/issues/12014):
Fix the `stacklevel` used when warning about marks used on fixtures.
- [#​12039](https://github.com/pytest-dev/pytest/issues/12039):
Fixed a regression in `8.0.2` where tests created using
`tmp_path`{.interpreted-text role="fixture"} have been collected
multiple times in CI under Windows.
## Improved Documentation
- [#​11790](https://github.com/pytest-dev/pytest/issues/11790):
Documented the retention of temporary directories created using the
`tmp_path` fixture in more detail.
## Trivial/Internal Changes
- [#​11785](https://github.com/pytest-dev/pytest/issues/11785):
Some changes were made to private functions which may affect plugins
which access them:
- `FixtureManager._getautousenames()` now takes a `Node` itself instead
of the nodeid.
- `FixtureManager.getfixturedefs()` now takes the `Node` itself instead
of the nodeid.
- The `_pytest.nodes.iterparentnodeids()` function is removed without
replacement.
Prefer to traverse the node hierarchy itself instead.
If you really need to, copy the function from the previous pytest
release.
- [#​12069](https://github.com/pytest-dev/pytest/issues/12069):
Delayed the deprecation of the following features to `9.0.0`:
- `node-ctor-fspath-deprecation`{.interpreted-text role="ref"}.
- `legacy-path-hooks-deprecated`{.interpreted-text role="ref"}.
It was discovered after `8.1.0` was released that the warnings about the
impeding removal were not being displayed, so the team decided to revert
the removal.
This is the reason for `8.1.0` being yanked.
# pytest 8.1.0 (YANKED)
::: {.note}
::: {.title}
Note
:::
This release has been **yanked**: it broke some plugins without the
proper warning period, due to
some warnings not showing up as expected.
See
[#​12069](https://github.com/pytest-dev/pytest/issues/12069).
:::
###
[`v8.1.0`](https://github.com/pytest-dev/pytest/releases/tag/8.1.0)
[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.0.2...8.1.0)
# pytest 8.1.0 (YANKED)
> \[!IMPORTANT]\
> This release has been **yanked**: it broke some plugins without the
proper warning period, due to some warnings not showing up as expected.
See
[#​12069](https://github.com/pytest-dev/pytest/issues/12069).
## Features
- [#​11475](https://github.com/pytest-dev/pytest/issues/11475):
Added the new `consider_namespace_packages`{.interpreted-text
role="confval"} configuration option, defaulting to `False`.
If set to `True`, pytest will attempt to identify modules that are part
of [namespace
packages](https://packaging.python.org/en/latest/guides/packaging-namespace-packages)
when importing modules.
- [#​11653](https://github.com/pytest-dev/pytest/issues/11653):
Added the new `verbosity_test_cases`{.interpreted-text role="confval"}
configuration option for fine-grained control of test execution
verbosity.
See `Fine-grained verbosity
<pytest.fine_grained_verbosity>`{.interpreted-text role="ref"} for more
details.
## Improvements
- [#​10865](https://github.com/pytest-dev/pytest/issues/10865):
`pytest.warns`{.interpreted-text role="func"} now validates that
`warnings.warn`{.interpreted-text role="func"} was called with a
\[str]{.title-ref} or a \[Warning]{.title-ref}.
Currently in Python it is possible to use other types, however this
causes an exception when `warnings.filterwarnings`{.interpreted-text
role="func"} is used to filter those warnings (see [CPython
#​103577](https://github.com/python/cpython/issues/103577) for a
discussion).
While this can be considered a bug in CPython, we decided to put guards
in pytest as the error message produced without this check in place is
confusing.
- [#​11311](https://github.com/pytest-dev/pytest/issues/11311):
When using `--override-ini` for paths in invocations without a
configuration file defined, the current working directory is used
as the relative directory.
Previoulsy this would raise an `AssertionError`{.interpreted-text
role="class"}.
- [#​11475](https://github.com/pytest-dev/pytest/issues/11475):
`--import-mode=importlib <import-mode-importlib>`{.interpreted-text
role="ref"} now tries to import modules using the standard import
mechanism (but still without changing :py`sys.path`{.interpreted-text
role="data"}), falling back to importing modules directly only if that
fails.
This means that installed packages will be imported under their
canonical name if possible first, for example `app.core.models`, instead
of having the module name always be derived from their path (for example
`.env310.lib.site_packages.app.core.models`).
- [#​11801](https://github.com/pytest-dev/pytest/issues/11801):
Added the `iter_parents()
<_pytest.nodes.Node.iter_parents>`{.interpreted-text role="func"} helper
method on nodes.
It is similar to `listchain
<_pytest.nodes.Node.listchain>`{.interpreted-text role="func"}, but goes
from bottom to top, and returns an iterator, not a list.
- [#​11850](https://github.com/pytest-dev/pytest/issues/11850):
Added support for `sys.last_exc`{.interpreted-text role="data"} for
post-mortem debugging on Python>=3.12.
- [#​11962](https://github.com/pytest-dev/pytest/issues/11962):
In case no other suitable candidates for configuration file are found, a
`pyproject.toml` (even without a `[tool.pytest.ini_options]` table) will
be considered as the configuration file and define the `rootdir`.
- [#​11978](https://github.com/pytest-dev/pytest/issues/11978):
Add `--log-file-mode` option to the logging plugin, enabling appending
to log-files. This option accepts either `"w"` or `"a"` and defaults to
`"w"`.
Previously, the mode was hard-coded to be `"w"` which truncates the file
before logging.
- [#​12047](https://github.com/pytest-dev/pytest/issues/12047):
When multiple finalizers of a fixture raise an exception, now all
exceptions are reported as an exception group.
Previously, only the first exception was reported.
## Bug Fixes
- [#​11904](https://github.com/pytest-dev/pytest/issues/11904):
Fixed a regression in pytest 8.0.0 that would cause test collection to
fail due to permission errors when using `--pyargs`.
This change improves the collection tree for tests specified using
`--pyargs`, see `12043`{.interpreted-text role="pull"} for a comparison
with pytest 8.0 and <8.
- [#​12011](https://github.com/pytest-dev/pytest/issues/12011):
Fixed a regression in 8.0.1 whereby `setup_module` xunit-style fixtures
are not executed when `--doctest-modules` is passed.
- [#​12014](https://github.com/pytest-dev/pytest/issues/12014):
Fix the `stacklevel` used when warning about marks used on fixtures.
- [#​12039](https://github.com/pytest-dev/pytest/issues/12039):
Fixed a regression in `8.0.2` where tests created using
`tmp_path`{.interpreted-text role="fixture"} have been collected
multiple times in CI under Windows.
## Improved Documentation
- [#​11790](https://github.com/pytest-dev/pytest/issues/11790):
Documented the retention of temporary directories created using the
`tmp_path` fixture in more detail.
## Trivial/Internal Changes
- [#​11785](https://github.com/pytest-dev/pytest/issues/11785):
Some changes were made to private functions which may affect plugins
which access them:
- `FixtureManager._getautousenames()` now takes a `Node` itself instead
of the nodeid.
- `FixtureManager.getfixturedefs()` now takes the `Node` itself instead
of the nodeid.
- The `_pytest.nodes.iterparentnodeids()` function is removed without
replacement.
Prefer to traverse the node hierarchy itself instead.
If you really need to, copy the function from the previous pytest
release.
###
[`v8.0.2`](https://github.com/pytest-dev/pytest/releases/tag/8.0.2)
[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.0.1...8.0.2)
# pytest 8.0.2 (2024-02-24)
## Bug Fixes
- [#​11895](https://github.com/pytest-dev/pytest/issues/11895):
Fix collection on Windows where initial paths contain the short version
of a path (for example `c:\PROGRA~1\tests`).
- [#​11953](https://github.com/pytest-dev/pytest/issues/11953):
Fix an `IndexError` crash raising from `getstatementrange_ast`.
- [#​12021](https://github.com/pytest-dev/pytest/issues/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.
###
[`v8.0.1`](https://github.com/pytest-dev/pytest/releases/tag/8.0.1)
[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.0.0...8.0.1)
# pytest 8.0.1 (2024-02-16)
## Bug Fixes
- [#​11875](https://github.com/pytest-dev/pytest/issues/11875):
Correctly handle errors from `getpass.getuser`{.interpreted-text
role="func"} in Python 3.13.
- [#​11879](https://github.com/pytest-dev/pytest/issues/11879):
Fix an edge case where `ExceptionInfo._stringify_exception` could crash
`pytest.raises`{.interpreted-text role="func"}.
- [#​11906](https://github.com/pytest-dev/pytest/issues/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](https://github.com/pytest-dev/pytest/issues/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](https://github.com/pytest-dev/pytest/issues/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](https://github.com/pytest-dev/pytest/issues/11937):
Fix a regression in pytest 8.0.0 whereby items would be collected in
reverse order in some circumstances.
###
[`v8.0.0`](https://github.com/pytest-dev/pytest/releases/tag/8.0.0):
pytest 8.0.0 (2024-01-27)
[Compare
Source](https://github.com/pytest-dev/pytest/compare/7.4.4...8.0.0)
See
[8.0.0rc1](https://github.com/pytest-dev/pytest/releases/tag/8.0.0rc1)
and
[8.0.0rc2](https://github.com/pytest-dev/pytest/releases/tag/8.0.0rc2)
for the full changes since pytest 7.4!
#### Bug Fixes
- [#​11842](https://github.com/pytest-dev/pytest/issues/11842):
Properly escape the `reason` of a `skip <pytest.mark.skip
ref>`{.interpreted-text role="ref"} mark when writing JUnit XML files.
- [#​11861](https://github.com/pytest-dev/pytest/issues/11861):
Avoid microsecond exceeds `1_000_000` when using `log-date-format` with
`%f` specifier, which might cause the test suite to crash.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - At any time (no schedule defined),
Automerge - At any time (no schedule defined).
🚦 **Automerge**: Disabled by config. Please merge this manually once you
are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the
rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update
again.
---
- [ ] <!-- 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://developer.mend.io/github/BSStudio/bss-web-file-api).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy4yNDUuMCIsInVwZGF0ZWRJblZlciI6IjM3LjI0NS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiJ9-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>1 parent 2194e4f commit 5e46774Copy full SHA for 5e46774
File tree
Expand file treeCollapse file tree
2 files changed
+8
-8
lines changedFilter options
Expand file treeCollapse file tree
2 files changed
+8
-8
lines changed+7-7Lines changed: 7 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
+1-1Lines changed: 1 addition & 1 deletion
Original file line number | Diff line number | Diff line change | |
---|---|---|---|
| |||
23 | 23 |
| |
24 | 24 |
| |
25 | 25 |
| |
26 |
| - | |
| 26 | + | |
27 | 27 |
| |
28 | 28 |
| |
29 | 29 |
| |
|
0 commit comments