gh-124694: In test_interpreter_pool, Restore the Asyncio Event Loop Policy During Cleanup (gh-125708)

This resolves a failure on the android buildbot.
This commit is contained in:
Eric Snow 2024-10-18 16:05:12 -06:00 committed by GitHub
parent c8fd4b12e3
commit 322f14eeff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -282,6 +282,19 @@ class InterpreterPoolExecutorTest(
class AsyncioTest(InterpretersMixin, testasyncio_utils.TestCase):
@classmethod
def setUpClass(cls):
# Most uses of asyncio will implicitly call set_event_loop_policy()
# with the default policy if a policy hasn't been set already.
# If that happens in a test, like here, we'll end up with a failure
# when --fail-env-changed is used. That's why the other tests that
# use asyncio are careful to set the policy back to None and why
# we're careful to do so here. We also validate that no other
# tests left a policy in place, just in case.
policy = support.maybe_get_event_loop_policy()
assert policy is None, policy
cls.addClassCleanup(lambda: asyncio.set_event_loop_policy(None))
def setUp(self):
super().setUp()
self.loop = asyncio.new_event_loop()