From 4802c6ee55f2721776cc9d05b1422dab85f244ce Mon Sep 17 00:00:00 2001 From: Victor Stinner Date: Mon, 16 Jun 2014 17:11:05 +0200 Subject: 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. --- Lib/test/test_asyncio/test_tasks.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/Lib/test/test_asyncio/test_tasks.py b/Lib/test/test_asyncio/test_tasks.py index 92eb9da..4e239ec 100644 --- 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 @@ 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[]()' % (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 -- cgit v0.12