[pypy-commit] pypy py3.5-corowrapper: Test and fix
arigo
pypy.commits at gmail.com
Sat Sep 17 17:13:20 EDT 2016
Author: Armin Rigo <arigo at tunes.org>
Branch: py3.5-corowrapper
Changeset: r87200:8abd37f94fd0
Date: 2016-09-17 23:07 +0200
http://bitbucket.org/pypy/pypy/changeset/8abd37f94fd0/
Log: Test and fix
diff --git a/pypy/interpreter/generator.py b/pypy/interpreter/generator.py
--- a/pypy/interpreter/generator.py
+++ b/pypy/interpreter/generator.py
@@ -499,9 +499,9 @@
w_await = space.lookup(w_obj, "__await__")
if w_await is None:
- raise oefmt(space.w_AttributeError,
- "object %T can't be used in 'await' expression"
- " (no __await__ method)", w_obj)
+ raise oefmt(space.w_TypeError,
+ "object %T can't be used in 'await' expression",
+ w_obj)
w_res = space.get_and_call_function(w_await, w_obj)
if isinstance(w_res, Coroutine) or gen_is_coroutine(w_res):
raise oefmt(space.w_TypeError,
diff --git a/pypy/interpreter/test/test_coroutine.py b/pypy/interpreter/test/test_coroutine.py
--- a/pypy/interpreter/test/test_coroutine.py
+++ b/pypy/interpreter/test/test_coroutine.py
@@ -104,3 +104,15 @@
assert c.send(82) == 41
raises(StopIteration, c.send, 93)
"""
+
+ def test_await_error(self): """
+ async def f():
+ await [42]
+ c = f()
+ try:
+ c.send(None)
+ except TypeError as e:
+ assert str(e) == "object list can't be used in 'await' expression"
+ else:
+ assert False, "should have raised"
+ """
More information about the pypy-commit
mailing list