tests: use asyncio.run() so the suite runs on Python 3.12+ - #110
Merged
Conversation
…te() asyncio.get_event_loop() no longer creates a loop implicitly (deprecated in 3.12, removed in 3.14), so every test using this helper raised 'RuntimeError: There is no current event loop in thread' and the suite could not be collected on a current interpreter. 175 passed on Python 3.14 after this change.
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 test suite can't be collected on a current Python.
asyncio.get_event_loop()no longer creates a loop implicitly — deprecated in 3.12, removed in 3.14 — so every test using the_run(...)helper fails with:asyncio.run()is the documented replacement and is equivalent here: each helper call wraps a single independent coroutine, so there's no shared loop state to preserve across calls.Mechanical change across 9 test files, no source changes.
Before (Python 3.14): collection interrupted, suite unrunnable.
After: 175 passed.
Split out from a separate bug-fix branch so it can be reviewed on its own — the fix work is unrelated and just needed a runnable suite.