#12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
#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.
#12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
Improved Documentation
#12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
#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.
#12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
8.2.1
pytest 8.2.1 (2024-05-19)
Improvements
#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#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
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
Declare required python version >= 3.8. (python 3.7 support was already removed in 2.6.0, the declared supported version tag was not updated though). [#215](https://github.com/pytest-dev/pytest-factoryboy/issues/215) <https://github.com/pytest-dev/pytest-factoryboy/pull/215>_
2.6.1
Address compatibility issue with pytest 8.1. [#213](https://github.com/pytest-dev/pytest-factoryboy/issues/213) <https://github.com/pytest-dev/pytest-bdd/pull/213>_
2.6.0
Drop python 3.7 support and add support for python 3.12. Supported versions are now: 3.8, 3.9, 3.10, 3.11, 3.12. [#197](https://github.com/pytest-dev/pytest-factoryboy/issues/197) <https://github.com/pytest-dev/pytest-factoryboy/pull/197>_
Using a generic class container like dict, list, set, etc. will raise a warning suggesting you to wrap your model using named_model(...). Doing this will make sure that the fixture name is correctly chosen, otherwise SubFactory and RelatedFactory aren't able to determine the name of the model. See Generic Container Classes as models <https://pytest-factoryboy.readthedocs.io/en/latest/#generic-container-classes-as-models>_ [#167](https://github.com/pytest-dev/pytest-factoryboy/issues/167) <https://github.com/pytest-dev/pytest-factoryboy/pull/167>_
Fix Factory._after_postgeneration being invoked twice. [#164](https://github.com/pytest-dev/pytest-factoryboy/issues/164) <https://github.com/pytest-dev/pytest-factoryboy/pull/164>_ [#156](https://github.com/pytest-dev/pytest-factoryboy/issues/156) <https://github.com/pytest-dev/pytest-factoryboy/issues/156>_
Stack traces caused by pytest-factoryboy are now slimmer. [#169](https://github.com/pytest-dev/pytest-factoryboy/issues/169) <https://github.com/pytest-dev/pytest-factoryboy/pull/169>_
Check for naming conflicts between factory and model fixture name, and raise a clear error immediately. [#86](https://github.com/pytest-dev/pytest-factoryboy/issues/86) <https://github.com/pytest-dev/pytest-factoryboy/pull/86>_
2.4.0
LazyFixture is now a Generic[T] type.
Simplify fixture generation (internal change).
Use poetry (internal change).
2.3.1
Fix AttributeError when using LazyFixture in register(...) [#159](https://github.com/pytest-dev/pytest-factoryboy/issues/159) <https://github.com/pytest-dev/pytest-factoryboy/issues/159>_ [#158](https://github.com/pytest-dev/pytest-factoryboy/issues/158) <https://github.com/pytest-dev/pytest-factoryboy/issues/158>_
2.3.0
Add support for factory.PostGenerationMethodCall[#103](https://github.com/pytest-dev/pytest-factoryboy/issues/103) <https://github.com/pytest-dev/pytest-factoryboy/pull/103>_ [#87](https://github.com/pytest-dev/pytest-factoryboy/issues/87) <https://github.com/pytest-dev/pytest-factoryboy/issues/87>_.
2.2.1
@register() decorator now refuses kwargs after the initial specialization. This behaviour was mistakenly introduced in version 2.2.0, and it complicates the usage of the register function unnecessarily. For example, the following is not allowed anymore:
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 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 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 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 ` 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 ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the pytest group with 2 updates in the /backend directory: pytest and pytest-factoryboy.
Updates
pytest
from 8.2.0 to 8.2.2Release notes
Sourced from pytest's releases.
Commits
329d371
Prepare release version 8.2.2214d098
Merge pull request #12414 from bluetech/backport-12409153a436
[8.2.x] fixtures: fix catastrophic performance problem inreorder_items
b41d5a5
Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x9bb73d7
[8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...4569a01
[8.2.x] doc: Update trainings/events (#12402)1d103e5
[8.2.x] Clarify pytest_ignore_collect docs (#12386)240a252
[8.2.x] Add html_baseurl to sphinx conf.py (#12372)a5ee3c4
Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.xf7358ae
[8.2.x] unittest: fix class instances no longer released on test teardown sin...Updates
pytest-factoryboy
from 2.1.0 to 2.7.0Changelog
Sourced from pytest-factoryboy's changelog.
... (truncated)
Commits
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 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