From: Kumar Aditya Date: Fri, 24 Jan 2025 17:40:24 +0000 (+0530) Subject: gh-128002: fix `test_all_tasks_different_thread` in asyncio (#129267) X-Git-Tag: v3.14.0a5~250 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e635bf2e49797ecb976ce45a67fce2201a25ca68;p=thirdparty%2FPython%2Fcpython.git gh-128002: fix `test_all_tasks_different_thread` in asyncio (#129267) --- diff --git a/Lib/test/test_asyncio/test_free_threading.py b/Lib/test/test_asyncio/test_free_threading.py index c91719cb577c..6da398e77e77 100644 --- a/Lib/test/test_asyncio/test_free_threading.py +++ b/Lib/test/test_asyncio/test_free_threading.py @@ -62,9 +62,9 @@ class TestFreeThreading: def test_all_tasks_different_thread(self) -> None: loop = None started = threading.Event() - + done = threading.Event() # used for main task not finishing early async def coro(): - await asyncio.sleep(0.01) + await asyncio.Future() lock = threading.Lock() tasks = set() @@ -77,6 +77,7 @@ class TestFreeThreading: with lock: asyncio.create_task(coro()) tasks = self.all_tasks(loop) + done.wait() runner = threading.Thread(target=lambda: asyncio.run(main())) @@ -86,11 +87,14 @@ class TestFreeThreading: self.assertSetEqual(tasks & self.all_tasks(loop), tasks) threads = [threading.Thread(target=check) for _ in range(10)] - threads.append(runner) + runner.start() with threading_helper.start_threads(threads): pass + done.set() + runner.join() + def test_run_coroutine_threadsafe(self) -> None: results = []