]> granicus.if.org Git - python/commitdiff
bpo-32357: Fix tests in refleak mode (#4989)
authorYury Selivanov <yury@magic.io>
Sat, 23 Dec 2017 17:44:29 +0000 (12:44 -0500)
committerGitHub <noreply@github.com>
Sat, 23 Dec 2017 17:44:29 +0000 (12:44 -0500)
Lib/test/test_asyncio/test_events.py
Lib/test/test_asyncio/test_pep492.py

index aefa33ba2513941ac4b9fb882be33ff837eeba24..e5e41fc1a873e3dfac8bb020f406563150605cde 100644 (file)
@@ -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):
index 8dd0c25e7cfed2c50eec1a506a4f3d81bfaa68e3..289f7e59db719e8fc2c42f1b25759f343b9b955e 100644 (file)
@@ -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):