Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r89014:3a45764f6ee1
Date: 2016-12-12 12:53 +0100
http://bitbucket.org/pypy/pypy/changeset/3a45764f6ee1/
Log: Test for missing the internal StopIteration
diff --git a/pypy/interpreter/test/test_pyframe.py
b/pypy/interpreter/test/test_pyframe.py
--- a/pypy/interpreter/test/test_pyframe.py
+++ b/pypy/interpreter/test/test_pyframe.py
@@ -645,6 +645,26 @@
sys.settrace(None)
assert seen == ['call', 'exception', 'return']
+ def test_generator_trace_stopiteration(self):
+ import sys
+ def f():
+ yield 5
+ gen = f()
+ assert next(gen) == 5
+ seen = []
+ def trace_func(frame, event, *args):
+ print('TRACE:', frame, event, args)
+ seen.append(event)
+ return trace_func
+ def g():
+ for x in gen:
+ never_entered
+ sys.settrace(trace_func)
+ g()
+ sys.settrace(None)
+ print('seen:', seen)
+ assert seen == ['call', 'line', 'call', 'return', 'exception',
'return']
+
def test_clear_locals(self):
def make_frames():
def outer():
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit