gh-111644: Fix asyncio test_unhandled_exceptions() (GH-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).
(cherry picked from commit
ac01e2243a1104b2154c0d1bdbc9f8d5b3ada778)
Co-authored-by: Victor Stinner <vstinner@python.org>
# 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):
self.assertEqual(messages[0]['message'],
'Unhandled exception in client_connected_cb')
+ # Break explicitly reference cycle
+ messages = None
if __name__ == '__main__':