summaryrefslogtreecommitdiffstatshomepage
path: root/tests/misc/sys_settrace_loop.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/misc/sys_settrace_loop.py')
-rw-r--r--tests/misc/sys_settrace_loop.py25
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)