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.
This commit is contained in:
Victor Stinner 2014-06-16 17:11:05 +02:00
parent 5b1fdc1e37
commit 4802c6ee55

View 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