aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Lib/test/test_asyncio/test_tasks.py
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2017-12-17 20:19:47 -0500
committerGitHub <noreply@github.com>2017-12-17 20:19:47 -0500
commit1b7c11ff0ee3efafbf5b38c3c6f37de5d63efb81 (patch)
tree5e6752a06d700ac910fcba551cf25d975c615f1d /Lib/test/test_asyncio/test_tasks.py
parent4c72bc4a38eced10a55ba7071e084b26a2b5ed4b (diff)
downloadcpython-1b7c11ff0ee3efafbf5b38c3c6f37de5d63efb81.tar.gz
cpython-1b7c11ff0ee3efafbf5b38c3c6f37de5d63efb81.zip
bpo-32348: Optimize asyncio.Future schedule/add/remove callback. (#4907)
Diffstat (limited to 'Lib/test/test_asyncio/test_tasks.py')
-rw-r--r--Lib/test/test_asyncio/test_tasks.py43
1 files changed, 37 insertions, 6 deletions
diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py
index 5429facbbcd..47206613993 100644
--- a/Lib/test/test_asyncio/test_tasks.py
+++ b/Lib/test/test_asyncio/test_tasks.py
@@ -2187,23 +2187,51 @@ def add_subclass_tests(cls):
return cls
-@unittest.skipUnless(hasattr(futures, '_CFuture'),
+@unittest.skipUnless(hasattr(futures, '_CFuture') and
+ hasattr(tasks, '_CTask'),
'requires the C _asyncio module')
class CTask_CFuture_Tests(BaseTaskTests, test_utils.TestCase):
Task = getattr(tasks, '_CTask', None)
Future = getattr(futures, '_CFuture', None)
-@unittest.skipUnless(hasattr(futures, '_CFuture'),
+@unittest.skipUnless(hasattr(futures, '_CFuture') and
+ hasattr(tasks, '_CTask'),
'requires the C _asyncio module')
@add_subclass_tests
class CTask_CFuture_SubclassTests(BaseTaskTests, test_utils.TestCase):
- Task = getattr(tasks, '_CTask', None)
- Future = getattr(futures, '_CFuture', None)
+
+ class Task(tasks._CTask):
+ pass
+
+ class Future(futures._CFuture):
+ pass
+
+
+@unittest.skipUnless(hasattr(tasks, '_CTask'),
+ 'requires the C _asyncio module')
+@add_subclass_tests
+class CTaskSubclass_PyFuture_Tests(BaseTaskTests, test_utils.TestCase):
+
+ class Task(tasks._CTask):
+ pass
+
+ Future = futures._PyFuture
@unittest.skipUnless(hasattr(futures, '_CFuture'),
'requires the C _asyncio module')
+@add_subclass_tests
+class PyTask_CFutureSubclass_Tests(BaseTaskTests, test_utils.TestCase):
+
+ class Future(futures._CFuture):
+ pass
+
+ Task = tasks._PyTask
+
+
+@unittest.skipUnless(hasattr(tasks, '_CTask'),
+ 'requires the C _asyncio module')
class CTask_PyFuture_Tests(BaseTaskTests, test_utils.TestCase):
Task = getattr(tasks, '_CTask', None)
Future = futures._PyFuture
@@ -2223,8 +2251,11 @@ class PyTask_PyFuture_Tests(BaseTaskTests, test_utils.TestCase):
@add_subclass_tests
class PyTask_PyFuture_SubclassTests(BaseTaskTests, test_utils.TestCase):
- Task = tasks._PyTask
- Future = futures._PyFuture
+ class Task(tasks._PyTask):
+ pass
+
+ class Future(futures._PyFuture):
+ pass
class BaseTaskIntrospectionTests: