Author: Armin Rigo <ar...@tunes.org> 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 pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit