[Python-checkins] cpython (3.4): Sync asyncio with Tulip: Fix test_tasks for Python 3.5

victor.stinner python-checkins at python.org
Mon Jun 16 17:12:50 CEST 2014


http://hg.python.org/cpython/rev/36ef32003a81
changeset:   91214:36ef32003a81
branch:      3.4
parent:      91208:2b8cd2bc2745
user:        Victor Stinner <victor.stinner at gmail.com>
date:        Mon Jun 16 17:11:05 2014 +0200
summary:
  Sync asyncio with Tulip: Fix test_tasks for Python 3.5

On Python 3.5, generator now gets their name from the function, no more from
the code. So we get the expected "notmuch" name instead of the generic "coro"
name.

files:
  Lib/test/test_asyncio/test_tasks.py |  12 ++++++++----
  1 files changed, 8 insertions(+), 4 deletions(-)


diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py
--- a/Lib/test/test_asyncio/test_tasks.py
+++ b/Lib/test/test_asyncio/test_tasks.py
@@ -2,6 +2,7 @@
 
 import gc
 import os.path
+import sys
 import types
 import unittest
 import weakref
@@ -154,10 +155,13 @@
         t = MyTask(gen, loop=self.loop)
         filename = gen.gi_code.co_filename
         lineno = gen.gi_frame.f_lineno
-        # FIXME: check for the name "coro" instead of "notmuch" because
-        # @asyncio.coroutine drops the name of the wrapped function:
-        # http://bugs.python.org/issue21205
-        self.assertEqual(repr(t), 'T[](<coro at %s:%s>)' % (filename, lineno))
+        if sys.version_info >= (3, 5):
+            name = 'notmuch'
+        else:
+            # On Python < 3.5, generators inherit the name of the code, not of
+            # the function. See: http://bugs.python.org/issue21205
+            name = 'coro'
+        self.assertEqual(repr(t), 'T[](<%s at %s:%s>)' % (name, filename, lineno))
 
     def test_task_basics(self):
         @asyncio.coroutine

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list