summaryrefslogtreecommitdiffstatshomepage
path: root/tests/misc/sys_settrace_generator.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/misc/sys_settrace_generator.py')
-rw-r--r--tests/misc/sys_settrace_generator.py33
1 files changed, 21 insertions, 12 deletions
diff --git a/tests/misc/sys_settrace_generator.py b/tests/misc/sys_settrace_generator.py
index e955d6b626..4ace0f50e8 100644
--- a/tests/misc/sys_settrace_generator.py
+++ b/tests/misc/sys_settrace_generator.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,12 +37,13 @@ def trace_tick_handler(frame, event, arg):
print_stacktrace(frame)
return trace_tick_handler
+
def test_generator():
def make_gen():
- yield 1<<0
- yield 1<<1
- yield 1<<2
- return 1<<3
+ yield 1 << 0
+ yield 1 << 1
+ yield 1 << 2
+ return 1 << 3
gen = make_gen()
r = 0
@@ -56,6 +64,7 @@ def test_generator():
r += i
print(r)
+
sys.settrace(trace_tick_handler)
test_generator()
sys.settrace(None)