Author: Armin Rigo <ar...@tunes.org> Branch: stacklet Changeset: r46634:980fcdcba554 Date: 2011-08-19 14:55 +0200 http://bitbucket.org/pypy/pypy/changeset/980fcdcba554/
Log: Next test, passes. diff --git a/pypy/module/test_lib_pypy/test_greenlet.py b/pypy/module/test_lib_pypy/test_greenlet.py --- a/pypy/module/test_lib_pypy/test_greenlet.py +++ b/pypy/module/test_lib_pypy/test_greenlet.py @@ -19,3 +19,28 @@ g.switch() lst.append(4) assert lst == range(5) + + def test_pass_around(self): + from greenlet import greenlet + seen = [] + def f(x, y): + seen.append((x, y)) + seen.append(greenlet.getcurrent().parent.switch()) + seen.append(greenlet.getcurrent().parent.switch(42)) + return 44, 'z' + g = greenlet(f) + seen.append(g.switch(40, 'x')) + seen.append(g.switch(41, 'y')) + seen.append(g.switch(43)) + # + def f2(): + return 45 + g = greenlet(f2) + seen.append(g.switch()) + # + def f3(): + pass + g = greenlet(f3) + seen.append(g.switch()) + # + assert seen == [(40, 'x'), (), (41, 'y'), 42, 43, (44, 'z'), 45, None] _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit