aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2017-12-23 12:44:29 -0500
committerGitHub <noreply@github.com>2017-12-23 12:44:29 -0500
commit558aa30f7971e087c4a00b1f49cc2ef3195c01ca (patch)
treec6733a98aa167c8468b9d380416bd736a86b1c1f
parentbpo-26439: Convert %s in Lib/ctypes/_aix.py to f-strings. (GH-4986) (diff)
downloadcpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.tar.gz
cpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.tar.bz2
cpython-558aa30f7971e087c4a00b1f49cc2ef3195c01ca.zip
bpo-32357: Fix tests in refleak mode (#4989)
-rw-r--r--Lib/test/test_asyncio/test_events.py33
-rw-r--r--Lib/test/test_asyncio/test_pep492.py22
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 aefa33ba251..e5e41fc1a87 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 8dd0c25e7cf..289f7e59db7 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):