Author: Armin Rigo <ar...@tunes.org> Branch: py3k-faulthandler Changeset: r87374:a38dd2ec24eb Date: 2016-09-25 19:41 +0200 http://bitbucket.org/pypy/pypy/changeset/a38dd2ec24eb/
Log: Translation test diff --git a/rpython/rlib/rvmprof/test/test_traceback.py b/rpython/rlib/rvmprof/test/test_traceback.py --- a/rpython/rlib/rvmprof/test/test_traceback.py +++ b/rpython/rlib/rvmprof/test/test_traceback.py @@ -1,5 +1,7 @@ +import re from rpython.rlib import rvmprof from rpython.rlib.rvmprof.traceback import traceback +from rpython.translator.interactive import Translation def test_direct(): @@ -29,3 +31,35 @@ assert seen == [(0, code1, 42), (1, code1, 42), (2, code1, 42)] + +def test_compiled(): + class MyCode: + pass + def get_name(mycode): + raise NotImplementedError + rvmprof.register_code_object_class(MyCode, get_name) + + @rvmprof.vmprof_execute_code("mycode", lambda code, level: code) + def mainloop(code, level): + if level > 0: + mainloop(code, level - 1) + else: + traceback(MyCode, my_callback, 42) + + def my_callback(depth, code, arg): + print depth, code, arg + return 0 + + def f(argv): + code1 = MyCode() + rvmprof.register_code(code1, "foo") + mainloop(code1, 2) + return 0 + + t = Translation(f, None, gc="boehm") + t.compile_c() + stdout = t.driver.cbuilder.cmdexec('') + r = re.compile("(\d+) [<]MyCode object at 0x([0-9a-f]+)[>] 42\n") + got = r.findall(stdout) + addr = got[0][1] + assert got == [("0", addr), ("1", addr), ("2", addr)] _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit