Skip to content

Commit

Permalink
chore(deps): update dependency pytest to v8 (#28)
Browse files Browse the repository at this point in the history
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.4` -> `~=8.3` |
[![age](https://developer.mend.io/api/mc/badges/age/pypi/pytest/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![adoption](https://developer.mend.io/api/mc/badges/adoption/pypi/pytest/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![passing](https://developer.mend.io/api/mc/badges/compatibility/pypi/pytest/7.4.4/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|
[![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/pytest/7.4.4/8.3.2?slim=true)](https://docs.renovatebot.com/merge-confidence/)
|

---

### Release Notes

<details>
<summary>pytest-dev/pytest (pytest)</summary>

###
[`v8.3.2`](https://github.com/pytest-dev/pytest/releases/tag/8.3.2)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.3.1...8.3.2)

# pytest 8.3.2 (2024-07-24)

## Bug fixes

-
[#&#8203;12652](https://github.com/pytest-dev/pytest/issues/12652):
Resolve regression \[conda]{.title-ref} environments where no longer
being automatically detected.

    \-- by `RonnyPfannschmidt`{.interpreted-text role="user"}

###
[`v8.3.1`](https://github.com/pytest-dev/pytest/releases/tag/8.3.1)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.3.0...8.3.1)

# pytest 8.3.1 (2024-07-20)

The 8.3.0 release failed to include the change notes and docs for the
release. This patch release remedies this. There are no other changes.

###
[`v8.3.0`](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.0)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.2.2...8.3.0)

###
[`v8.2.2`](https://github.com/pytest-dev/pytest/releases/tag/8.2.2)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.2.1...8.2.2)

# pytest 8.2.2 (2024-06-04)

## Bug Fixes

-
[#&#8203;12355](https://github.com/pytest-dev/pytest/issues/12355):
Fix possible catastrophic performance slowdown on a certain
parametrization pattern involving many higher-scoped parameters.
-
[#&#8203;12367](https://github.com/pytest-dev/pytest/issues/12367):
Fix a regression in pytest 8.2.0 where unittest class instances (a fresh
one is created for each test) were not released promptly on test
teardown but only on session teardown.
-
[#&#8203;12381](https://github.com/pytest-dev/pytest/issues/12381):
Fix possible "Directory not empty" crashes arising from concurent cache
dir (`.pytest_cache`) creation. Regressed in pytest 8.2.0.

## Improved Documentation

-
[#&#8203;12290](https://github.com/pytest-dev/pytest/issues/12290):
Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode
theme.
-
[#&#8203;12356](https://github.com/pytest-dev/pytest/issues/12356):
Added a subsection to the documentation for debugging flaky tests to
mention
    lack of thread safety in pytest as a possible source of flakyness.
-
[#&#8203;12363](https://github.com/pytest-dev/pytest/issues/12363):
The documentation webpages now links to a canonical version to reduce
outdated documentation in search engine results.

###
[`v8.2.1`](https://github.com/pytest-dev/pytest/releases/tag/8.2.1)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.2.0...8.2.1)

# pytest 8.2.1 (2024-05-19)

## Improvements

-
[#&#8203;12334](https://github.com/pytest-dev/pytest/issues/12334):
Support for Python 3.13 (beta1 at the time of writing).

## Bug Fixes

-
[#&#8203;12120](https://github.com/pytest-dev/pytest/issues/12120):
Fix \[PermissionError]{.title-ref} crashes arising from directories
which are not selected on the command-line.
-
[#&#8203;12191](https://github.com/pytest-dev/pytest/issues/12191):
Keyboard interrupts and system exits are now properly handled during the
test collection.
-
[#&#8203;12300](https://github.com/pytest-dev/pytest/issues/12300):
Fixed handling of 'Function not implemented' error under squashfuse_ll,
which is a different way to say that the mountpoint is read-only.
-
[#&#8203;12308](https://github.com/pytest-dev/pytest/issues/12308):
Fix a regression in pytest 8.2.0 where the permissions of
automatically-created `.pytest_cache` directories became `rwx------`
instead of the expected `rwxr-xr-x`.

## Trivial/Internal Changes

-
[#&#8203;12333](https://github.com/pytest-dev/pytest/issues/12333):
pytest releases are now attested using the recent [Artifact
Attestation](https://github.blog/2024-05-02-introducing-artifact-attestations-now-in-public-beta/)
support from GitHub, allowing users to verify the provenance of pytest's
sdist and wheel artifacts.

###
[`v8.2.0`](https://github.com/pytest-dev/pytest/releases/tag/8.2.0)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.1.2...8.2.0)

# pytest 8.2.0 (2024-04-27)

## Deprecations

-
[#&#8203;12069](https://github.com/pytest-dev/pytest/issues/12069):
A deprecation warning is now raised when implementations of one of the
following hooks request a deprecated `py.path.local` parameter instead
of the `pathlib.Path` parameter which replaced it:

- `pytest_ignore_collect`{.interpreted-text role="hook"} - the `path`
parameter - use `collection_path` instead.
- `pytest_collect_file`{.interpreted-text role="hook"} - the `path`
parameter - use `file_path` instead.
- `pytest_pycollect_makemodule`{.interpreted-text role="hook"} - the
`path` parameter - use `module_path` instead.
- `pytest_report_header`{.interpreted-text role="hook"} - the `startdir`
parameter - use `start_path` instead.
- `pytest_report_collectionfinish`{.interpreted-text role="hook"} - the
`startdir` parameter - use `start_path` instead.

    The replacement parameters are available since pytest 7.0.0.
    The old parameters will be removed in pytest 9.0.0.

See `legacy-path-hooks-deprecated`{.interpreted-text role="ref"} for
more details.

## Features

-
[#&#8203;11871](https://github.com/pytest-dev/pytest/issues/11871):
Added support for reading command line arguments from a file using the
prefix character `@`, like e.g.: `pytest @&#8203;tests.txt`. The file
must have one argument per line.

See `Read arguments from file <args-from-file>`{.interpreted-text
role="ref"} for details.

## Improvements

-
[#&#8203;11523](https://github.com/pytest-dev/pytest/issues/11523):
`pytest.importorskip`{.interpreted-text role="func"} will now issue a
warning if the module could be found, but raised
`ImportError`{.interpreted-text role="class"} instead of
`ModuleNotFoundError`{.interpreted-text role="class"}.

The warning can be suppressed by passing `exc_type=ImportError` to
`pytest.importorskip`{.interpreted-text role="func"}.

See `import-or-skip-import-error`{.interpreted-text role="ref"} for
details.

-
[#&#8203;11728](https://github.com/pytest-dev/pytest/issues/11728):
For `unittest`-based tests, exceptions during class cleanup (as raised
by functions registered with `TestCase.addClassCleanup
<unittest.TestCase.addClassCleanup>`{.interpreted-text role="meth"}) are
now reported instead of silently failing.

-
[#&#8203;11777](https://github.com/pytest-dev/pytest/issues/11777):
Text is no longer truncated in the `short test summary info` section
when `-vv` is given.

-
[#&#8203;12112](https://github.com/pytest-dev/pytest/issues/12112):
Improved namespace packages detection when
`consider_namespace_packages`{.interpreted-text role="confval"} is
enabled, covering more situations (like editable installs).

-
[#&#8203;9502](https://github.com/pytest-dev/pytest/issues/9502):
Added `PYTEST_VERSION`{.interpreted-text role="envvar"} environment
variable which is defined at the start of the pytest session and
undefined afterwards. It contains the value of `pytest.__version__`, and
among other things can be used to easily check if code is running from
within a pytest run.

## Bug Fixes

-
[#&#8203;12065](https://github.com/pytest-dev/pytest/issues/12065):
Fixed a regression in pytest 8.0.0 where test classes containing
`setup_method` and tests using `@staticmethod` or `@classmethod` would
crash with `AttributeError: 'NoneType' object has no attribute
'setup_method'`.

Now the `request.instance
<pytest.FixtureRequest.instance>`{.interpreted-text role="attr"}
attribute of tests using `@staticmethod` and `@classmethod` is no longer
`None`, but a fresh instance of the class, like in non-static methods.
Previously it was `None`, and all fixtures of such tests would share a
single `self`.

-
[#&#8203;12135](https://github.com/pytest-dev/pytest/issues/12135):
Fixed issue where fixtures adding their finalizer multiple times to
fixtures they request would cause unreliable and non-intuitive teardown
ordering in some instances.

-
[#&#8203;12194](https://github.com/pytest-dev/pytest/issues/12194):
Fixed a bug with `--importmode=importlib` and `--doctest-modules` where
child modules did not appear as attributes in parent modules.

-
[#&#8203;1489](https://github.com/pytest-dev/pytest/issues/1489):
Fixed some instances where teardown of higher-scoped fixtures was not
happening in the reverse order they were initialized in.

## Trivial/Internal Changes

-
[#&#8203;12069](https://github.com/pytest-dev/pytest/issues/12069):
`pluggy>=1.5.0` is now required.
-
[#&#8203;12167](https://github.com/pytest-dev/pytest/issues/12167):
`cache <cache>`{.interpreted-text role="ref"}: create supporting files
(`CACHEDIR.TAG`, `.gitignore`, etc.) in a temporary directory to provide
atomic semantics.

###
[`v8.1.2`](https://github.com/pytest-dev/pytest/releases/tag/8.1.2)

[Compare
Source](https://github.com/pytest-dev/pytest/compare/8.1.1...8.1.2)

# pytest 8.1.2 (2024-04-26)

## Bug Fixes

-
[#&#8203;12114](https://github.com/pytest-dev/pytest/issues/12114):
Fixed error in `pytest.approx`{.interpreted-text role="func"} when used
with \[numpy]{.title-ref} arrays and comparing with other types.

###
[`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

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

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

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

-
[#&#8203;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"}.

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

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

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

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

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

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

-
[#&#8203;11475](https://github.com/pytest-dev/pytest/issues/11475):
Fixed regression where `--importmode=importlib` would import non-test
modules more than once.

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

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

-
[#&#8203;12014](https://github.com/pytest-dev/pytest/issues/12014):
Fix the `stacklevel` used when warning about marks used on fixtures.

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

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

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

-
[#&#8203;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
[#&#8203;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
[#&#8203;12069](https://github.com/pytest-dev/pytest/issues/12069).

## Features

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

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

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

-
[#&#8203;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"}.

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

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

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

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

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

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

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

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

-
[#&#8203;12014](https://github.com/pytest-dev/pytest/issues/12014):
Fix the `stacklevel` used when warning about marks used on fixtures.

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

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

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

-
[#&#8203;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`).
-
[#&#8203;11953](https://github.com/pytest-dev/pytest/issues/11953):
Fix an `IndexError` crash raising from `getstatementrange_ast`.
-
[#&#8203;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

-
[#&#8203;11875](https://github.com/pytest-dev/pytest/issues/11875):
Correctly handle errors from `getpass.getuser`{.interpreted-text
role="func"} in Python 3.13.
-
[#&#8203;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"}.
-
[#&#8203;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}.
-
[#&#8203;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.
-
[#&#8203;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.
-
[#&#8203;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

-
[#&#8203;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.
-
[#&#8203;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 - "every weekend" in timezone Etc/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 was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/canonical/craftcraft).

<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC41OS4yIiwidXBkYXRlZEluVmVyIjoiMzguNTkuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19-->

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
  • Loading branch information
renovate[bot] authored Sep 6, 2024
1 parent dda6dcd commit 3b185da
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ craftcraft = "craftcraft.cli:main"
dev = [
"build",
"coverage[toml]~=7.3",
"pytest~=7.4",
"pytest~=8.3",
"pytest-check",
"pytest-cov~=5.0",
"pytest-mock~=3.12",
Expand Down

0 comments on commit 3b185da

Please sign in to comment.