diff options
author | Yury Selivanov <yury@magic.io> | 2017-12-17 20:19:47 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-17 20:19:47 -0500 |
commit | 1b7c11ff0ee3efafbf5b38c3c6f37de5d63efb81 (patch) | |
tree | 5e6752a06d700ac910fcba551cf25d975c615f1d /Lib/test/test_asyncio/test_tasks.py | |
parent | 4c72bc4a38eced10a55ba7071e084b26a2b5ed4b (diff) | |
download | cpython-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.py | 43 |
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: |