(7, 'line'),
(7, 'return')])
+ def test_tracing_exception_raised_in_with(self):
+
+ class NullCtx:
+ def __enter__(self):
+ return self
+ def __exit__(self, *excinfo):
+ pass
+
+ def func():
+ try:
+ with NullCtx():
+ 1/0
+ except ZeroDivisionError:
+ pass
+
+ self.run_and_compare(func,
+ [(0, 'call'),
+ (1, 'line'),
+ (2, 'line'),
+ (-5, 'call'),
+ (-4, 'line'),
+ (-4, 'return'),
+ (3, 'line'),
+ (3, 'exception'),
+ (2, 'line'),
+ (-3, 'call'),
+ (-2, 'line'),
+ (-2, 'return'),
+ (4, 'line'),
+ (5, 'line'),
+ (5, 'return')])
+
class SkipLineEventsTraceTestCase(TraceTestCase):
"""Repeat the trace tests, but with per-line events skipped"""
JUMPTO(handler);
/* Resume normal execution */
frame->f_state = FRAME_EXECUTING;
- frame->f_lasti = handler;
- NEXTOPARG();
- PRE_DISPATCH_GOTO();
- DISPATCH_GOTO();
+ DISPATCH();
}
exiting: