diff options
Diffstat (limited to 'tests/misc/sys_settrace_loop.py')
-rw-r--r-- | tests/misc/sys_settrace_loop.py | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/tests/misc/sys_settrace_loop.py b/tests/misc/sys_settrace_loop.py index 9ae0f41a1d..06d0dc17bf 100644 --- a/tests/misc/sys_settrace_loop.py +++ b/tests/misc/sys_settrace_loop.py @@ -8,21 +8,28 @@ except AttributeError: print("SKIP") raise SystemExit + def print_stacktrace(frame, level=0): - print("%2d: %s@%s:%s => %s:%d" % ( - level, " ", - frame.f_globals['__name__'], - frame.f_code.co_name, - # reduce full path to some pseudo-relative - 'misc' + ''.join(frame.f_code.co_filename.split('tests/misc')[-1:]), - frame.f_lineno, - )) + print( + "%2d: %s@%s:%s => %s:%d" + % ( + level, + " ", + frame.f_globals["__name__"], + frame.f_code.co_name, + # reduce full path to some pseudo-relative + "misc" + "".join(frame.f_code.co_filename.split("tests/misc")[-1:]), + frame.f_lineno, + ) + ) if frame.f_back: print_stacktrace(frame.f_back, level + 1) + trace_count = 0 + def trace_tick_handler(frame, event, arg): global trace_count print("### trace_handler::main event:", event) @@ -30,6 +37,7 @@ def trace_tick_handler(frame, event, arg): print_stacktrace(frame) return trace_tick_handler + def test_loop(): # for loop r = 0 @@ -45,6 +53,7 @@ def test_loop(): i += 1 print("test_while_loop", i) + sys.settrace(trace_tick_handler) test_loop() sys.settrace(None) |