Repository navigation
Document resource management in parametrizing plugins - #15199
Open
tianhaotian wants to merge 1 commit into
Open
tianhaotian wants to merge 1 commit into
tianhaotian wants to merge 1 commit into
Conversation
Add a runnable SQLite-backed plugin example sharing a connection between pytest_generate_tests and an indirect fixture. Verify cleanup after normal runs, collection-only runs, failed tests and failed configuration. Fixes pytest-dev#8208 Co-authored-by: Codex <noreply@openai.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The parametrization examples do not show how a plugin can share a resource between collection-time parameter discovery and fixture execution. This adds a runnable SQLite example using
pytest_configureandpytest_unconfigure, with indirect parametrization and a fixture on the plugin instance.The plugin is registered before database initialization so cleanup also runs if initialization fails. The documentation includes the same source files exercised by the tests.
Fixes #8208.
Validation:
python -m pytest testing/python/metafunc.py -q: 137 passed, including cleanup after normal runs, collection-only runs, failed tests, and failed configuration.tox -e linting: passed, including all added files.tox -e docs: passed after rebasing onto current main, which includes the upstream Pluggy 1.7 documentation fix.The documentation changelog entry and AUTHORS entry are included. Maintainer edits are enabled.
Developed with Codex and reviewed by the human contributor before submission. The commit credits Codex with a Co-authored-by trailer.