diff options
-rw-r--r-- | Lib/test/test_collections.py | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Lib/test/test_collections.py b/Lib/test/test_collections.py index 2bb55385e3..3d1db5ca0e 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 |