bpo-32415: Add asyncio.Task.get_loop() and Future.get_loop() (#4992)

This commit is contained in:
Yury Selivanov 2017-12-23 15:04:15 -05:00 committed by GitHub
parent 558aa30f79
commit ca9b36cd1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 152 additions and 76 deletions

View file

@ -139,6 +139,7 @@ class BaseFutureTests:
asyncio.set_event_loop(self.loop)
f = self._new_future()
self.assertIs(f._loop, self.loop)
self.assertIs(f.get_loop(), self.loop)
def test_constructor_positional(self):
# Make sure Future doesn't accept a positional argument

View file

@ -141,6 +141,7 @@ class BaseTaskTests:
self.assertTrue(t.done())
self.assertEqual(t.result(), 'ok')
self.assertIs(t._loop, self.loop)
self.assertIs(t.get_loop(), self.loop)
loop = asyncio.new_event_loop()
self.set_event_loop(loop)
@ -2310,10 +2311,11 @@ class BaseTaskIntrospectionTests:
def test__register_task(self):
task = mock.Mock()
loop = mock.Mock()
task.get_loop = lambda: loop
self.assertEqual(asyncio.all_tasks(loop), set())
self._register_task(loop, task)
self._register_task(task)
self.assertEqual(asyncio.all_tasks(loop), {task})
self._unregister_task(loop, task)
self._unregister_task(task)
def test__enter_task(self):
task = mock.Mock()
@ -2360,14 +2362,15 @@ class BaseTaskIntrospectionTests:
def test__unregister_task(self):
task = mock.Mock()
loop = mock.Mock()
self._register_task(loop, task)
self._unregister_task(loop, task)
task.get_loop = lambda: loop
self._register_task(task)
self._unregister_task(task)
self.assertEqual(asyncio.all_tasks(loop), set())
def test__unregister_task_not_registered(self):
task = mock.Mock()
loop = mock.Mock()
self._unregister_task(loop, task)
self._unregister_task(task)
self.assertEqual(asyncio.all_tasks(loop), set())