]> granicus.if.org Git - python/commitdiff
Sync asyncio with Tulip: Fix test_tasks for Python 3.5
authorVictor Stinner <victor.stinner@gmail.com>
Mon, 16 Jun 2014 15:11:05 +0000 (17:11 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Mon, 16 Jun 2014 15:11:05 +0000 (17:11 +0200)
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.

Lib/test/test_asyncio/test_tasks.py

index 92eb9daefbd9b210f3b8c1ec8917cfaef5d504b0..4e239ecbcbd892cfa85671e6077882788ac5fbac 100644 (file)
@@ -2,6 +2,7 @@
 
 import gc
 import os.path
+import sys
 import types
 import unittest
 import weakref
@@ -154,10 +155,13 @@ class TaskTests(unittest.TestCase):
         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