]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
gh-111644: Fix asyncio test_unhandled_exceptions() (#111713)
authorVictor Stinner <vstinner@python.org>
Sat, 4 Nov 2023 00:47:07 +0000 (01:47 +0100)
committerGitHub <noreply@github.com>
Sat, 4 Nov 2023 00:47:07 +0000 (00:47 +0000)
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).

Lib/test/test_asyncio/test_streams.py

index c477b6c838c5e06209f31bea74ccba939d4c7c64..3fea7b9f6911aa263c53e3e456e508ed0a1fb301 100644 (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__':