fix: default asyncio_default_fixture_loop_scope to "function"#1462
Open
sridhar-3009 wants to merge 3 commits into
Open
fix: default asyncio_default_fixture_loop_scope to "function"#1462sridhar-3009 wants to merge 3 commits into
sridhar-3009 wants to merge 3 commits into
Conversation
The configuration option was previously left unset (None), causing pytest-asyncio to emit a PytestDeprecationWarning on every run and fall back to fixture-caching scope — the old deprecated behaviour. Set the default to "function" as documented in the issue roadmap. Remove the now-unreachable _DEFAULT_FIXTURE_LOOP_SCOPE_UNSET constant and its associated warning emission in pytest_configure. Tests that explicitly set `asyncio_default_fixture_loop_scope = function` in pytester configs are still correct; removing those redundant settings is left as a follow-up. Closes pytest-dev#924
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #1462 +/- ##
==========================================
+ Coverage 94.50% 94.87% +0.36%
==========================================
Files 2 2
Lines 510 507 -3
Branches 62 61 -1
==========================================
- Hits 482 481 -1
+ Misses 22 21 -1
+ Partials 6 5 -1 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
Summary
Closes #924.
The
asyncio_default_fixture_loop_scopeini option was leftNoneby default, which triggered aPytestDeprecationWarningon every test run and caused async fixtures to fall back to the old fixture-caching scope behaviour.This PR completes the deprecation by:
"function"— the value the deprecation warning was telling users to set explicitly._DEFAULT_FIXTURE_LOOP_SCOPE_UNSET— the warning constant is now unreachable since the default is no longer falsy.if not default_fixture_loop_scope: warnings.warn(...)block inpytest_configure.Before
After
Follow-up
Tests that explicitly set
asyncio_default_fixture_loop_scope = functionin pytester configs are now setting the default redundantly. Cleaning those up is a separate, mechanical follow-up.