]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-127949: fix resource warnings in `test_tasks.py` (GH-128172) (#131806)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Fri, 28 Mar 2025 14:25:39 +0000 (15:25 +0100)
committerGitHub <noreply@github.com>
Fri, 28 Mar 2025 14:25:39 +0000 (14:25 +0000)
* gh-127949: fix resource warnings in `test_tasks.py` (GH-128172)
(cherry picked from commit b66a4ad9fc32b63da2ba10db24cbc8f4e29f781a)

Co-authored-by: Thomas Grainger <tagrain@gmail.com>
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
Lib/test/test_asyncio/test_tasks.py

index 792ab4fbede0a27c3ada5f473416c4403f8dc2e1..428bd1de16fda834f931d329b80be52f2368eeb9 100644 (file)
@@ -1,6 +1,7 @@
 """Tests for tasks.py."""
 
 import collections
+import contextlib
 import contextvars
 import gc
 import io
@@ -2499,17 +2500,17 @@ class BaseTaskTests:
         initial_refcount = sys.getrefcount(obj)
 
         coro = coroutine_function()
-        loop = asyncio.new_event_loop()
-        task = asyncio.Task.__new__(asyncio.Task)
+        with contextlib.closing(asyncio.new_event_loop()) as loop:
+            task = asyncio.Task.__new__(asyncio.Task)
 
-        for _ in range(5):
-            with self.assertRaisesRegex(RuntimeError, 'break'):
-                task.__init__(coro, loop=loop, context=obj, name=Break())
+            for _ in range(5):
+                with self.assertRaisesRegex(RuntimeError, 'break'):
+                    task.__init__(coro, loop=loop, context=obj, name=Break())
 
-        coro.close()
-        del task
+            coro.close()
+            del task
 
-        self.assertEqual(sys.getrefcount(obj), initial_refcount)
+            self.assertEqual(sys.getrefcount(obj), initial_refcount)
 
 
 def add_subclass_tests(cls):