gh-111644: Fix asyncio test_unhandled_exceptions() (#111713)

Fix test_unhandled_exceptions() of test_asyncio.test_streams: break
explicitly a reference cycle.

Fix also StreamTests.tearDown(): the loop must not be closed
explicitly, but using set_event_loop() which takes care of shutting
down the executor with executor.shutdown(wait=True).
BaseEventLoop.close() calls executor.shutdown(wait=False).
This commit is contained in:
Victor Stinner 2023-11-04 01:47:07 +01:00 committed by GitHub
parent f62c7ccf9a
commit ac01e2243a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -37,8 +37,7 @@ class StreamTests(test_utils.TestCase):
# just in case if we have transport close callbacks
test_utils.run_briefly(self.loop)
self.loop.close()
gc.collect()
# set_event_loop() takes care of closing self.loop in a safe way
super().tearDown()
def _basetest_open_connection(self, open_connection_fut):
@ -1124,6 +1123,8 @@ os.close(fd)
self.assertEqual(messages[0]['message'],
'Unhandled exception in client_connected_cb')
# Break explicitly reference cycle
messages = None
if __name__ == '__main__':