diff options
author | Yury Selivanov <yury@magic.io> | 2017-12-23 17:44:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-23 17:44:29 (GMT) |
commit | 558aa30f7971e087c4a00b1f49cc2ef3195c01ca (patch) | |
tree | c6733a98aa167c8468b9d380416bd736a86b1c1f /Lib/test/test_asyncio | |
parent | c0919c27c6442aa147ae559a936b1b8deb4ee783 (diff) | |
download | cpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.zip cpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.tar.gz cpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.tar.bz2 |
bpo-32357: Fix tests in refleak mode (#4989)
Diffstat (limited to 'Lib/test/test_asyncio')
-rw-r--r-- | Lib/test/test_asyncio/test_events.py | 33 | ||||
-rw-r--r-- | Lib/test/test_asyncio/test_pep492.py | 22 |
2 files changed, 32 insertions, 23 deletions
diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py index aefa33b..e5e41fc 100644 --- a/Lib/test/test_asyncio/test_events.py +++ b/Lib/test/test_asyncio/test_events.py @@ -66,6 +66,20 @@ def _test_get_event_loop_new_process__sub_proc(): return loop.run_until_complete(doit()) +class CoroLike: + def send(self, v): + pass + + def throw(self, *exc): + pass + + def close(self): + pass + + def __await__(self): + pass + + ONLYCERT = data_file('ssl_cert.pem') ONLYKEY = data_file('ssl_key.pem') SIGNED_CERTFILE = data_file('keycert3.pem') @@ -2365,20 +2379,7 @@ class HandleTests(test_utils.TestCase): # collections.abc.Coroutine, but lack cr_core or gi_code attributes # (such as ones compiled with Cython). - class Coro: - def send(self, v): - pass - - def throw(self, *exc): - pass - - def close(self): - pass - - def __await__(self): - pass - - coro = Coro() + coro = CoroLike() coro.__name__ = 'AAA' self.assertTrue(asyncio.iscoroutine(coro)) self.assertEqual(coroutines._format_coroutine(coro), 'AAA()') @@ -2389,10 +2390,10 @@ class HandleTests(test_utils.TestCase): coro.cr_running = True self.assertEqual(coroutines._format_coroutine(coro), 'BBB() running') - coro = Coro() + coro = CoroLike() # Some coroutines might not have '__name__', such as # built-in async_gen.asend(). - self.assertEqual(coroutines._format_coroutine(coro), 'Coro()') + self.assertEqual(coroutines._format_coroutine(coro), 'CoroLike()') class TimerTests(unittest.TestCase): diff --git a/Lib/test/test_asyncio/test_pep492.py b/Lib/test/test_asyncio/test_pep492.py index 8dd0c25..289f7e5 100644 --- a/Lib/test/test_asyncio/test_pep492.py +++ b/Lib/test/test_asyncio/test_pep492.py @@ -10,6 +10,21 @@ import asyncio from test.test_asyncio import utils as test_utils +# Test that asyncio.iscoroutine() uses collections.abc.Coroutine +class FakeCoro: + def send(self, value): + pass + + def throw(self, typ, val=None, tb=None): + pass + + def close(self): + pass + + def __await__(self): + yield + + class BaseTest(test_utils.TestCase): def setUp(self): @@ -99,13 +114,6 @@ class CoroutineTests(BaseTest): finally: f.close() # silence warning - # Test that asyncio.iscoroutine() uses collections.abc.Coroutine - class FakeCoro: - def send(self, value): pass - def throw(self, typ, val=None, tb=None): pass - def close(self): pass - def __await__(self): yield - self.assertTrue(asyncio.iscoroutine(FakeCoro())) def test_iscoroutinefunction(self): |