mirror of
https://github.com/python/cpython.git
synced 2025-08-04 08:59:19 +00:00
gh-128002: fix test_all_tasks_different_thread
in asyncio (#129267)
This commit is contained in:
parent
7907203bc0
commit
e635bf2e49
1 changed files with 7 additions and 3 deletions
|
@ -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 = []
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue