diff options
author | INADA Naoki <methane@users.noreply.github.com> | 2017-08-02 07:50:39 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-08-02 07:50:39 (GMT) |
commit | f142e85d22ba135d5205280240f3a2fe1df2649f (patch) | |
tree | 32e45abe96a96edf8fb36ecf60588385a1764a16 /Lib/test/test_asyncio/test_tasks.py | |
parent | 48fcc72c83e1b47b200dd39f9dcc9f62fa0d4d17 (diff) | |
download | cpython-f142e85d22ba135d5205280240f3a2fe1df2649f.zip cpython-f142e85d22ba135d5205280240f3a2fe1df2649f.tar.gz cpython-f142e85d22ba135d5205280240f3a2fe1df2649f.tar.bz2 |
bpo-31061: fix crash in asyncio speedup module (GH-2984)
(cherry picked from commit de34cbe9cdaaf7b85fed86f99c2fd071e1a7b1d2)
Diffstat (limited to 'Lib/test/test_asyncio/test_tasks.py')
-rw-r--r-- | Lib/test/test_asyncio/test_tasks.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index 195a1ed..243faf6 100644 --- a/Lib/test/test_asyncio/test_tasks.py +++ b/Lib/test/test_asyncio/test_tasks.py @@ -3,6 +3,7 @@ import collections import contextlib import functools +import gc import io import os import re @@ -92,6 +93,20 @@ class BaseTaskTests: self.loop.set_task_factory(self.new_task) self.loop.create_future = lambda: self.new_future(self.loop) + def test_task_del_collect(self): + class Evil: + def __del__(self): + gc.collect() + + @asyncio.coroutine + def run(): + return Evil() + + self.loop.run_until_complete( + asyncio.gather(*[ + self.new_task(self.loop, run()) for _ in range(100) + ], loop=self.loop)) + def test_other_loop_future(self): other_loop = asyncio.new_event_loop() fut = self.new_future(other_loop) |