gh-128002: fix test_all_tasks_different_thread in asyncio (#129267)

This commit is contained in:
Kumar Aditya 2025-01-24 23:10:24 +05:30 committed by GitHub
parent 7907203bc0
commit e635bf2e49
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -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 = []