From aded55c6e3d893d7543bd642d7f0a6609d26e2e3 Mon Sep 17 00:00:00 2001 From: Yury Selivanov Date: Wed, 13 May 2015 23:41:55 -0400 Subject: collections.abc: Test that if an object is a Coroutine it is also an Awaitable --- Lib/test/test_collections.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 2bb5538..3d1db5c 100644 --- a/Lib/test/test_collections.py +++ b/Lib/test/test_collections.py @@ -495,6 +495,22 @@ class TestOneTrickPonyABCs(ABCTestCase): self.assertIsInstance(c, Awaitable) c.close() # awoid RuntimeWarning that coro() was not awaited + class CoroLike: + def send(self, value): + pass + def throw(self, typ, val=None, tb=None): + pass + def close(self): + pass + Coroutine.register(CoroLike) + try: + self.assertTrue(isinstance(CoroLike(), Awaitable)) + self.assertTrue(issubclass(CoroLike, Awaitable)) + CoroLike = None + finally: + support.gc_collect() # Kill CoroLike to clean-up ABCMeta cache + + def test_Coroutine(self): def gen(): yield -- cgit v0.12