summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_asyncio/test_tasks.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_asyncio/test_tasks.py')
-rw-r--r--Lib/test/test_asyncio/test_tasks.py15
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 686387f..36082ec 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
@@ -91,6 +92,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)