From fa7bec7e837e99aaa77009d324935c0ffca6891d Mon Sep 17 00:00:00 2001 From: Nicholas Bastin Date: Mon, 22 Mar 2004 19:21:47 +0000 Subject: Test for tight loop line event fix, SF bug #765624 --- Lib/test/test_trace.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py index 93ad688..4103794 100644 --- a/Lib/test/test_trace.py +++ b/Lib/test/test_trace.py @@ -141,6 +141,29 @@ ireturn_example.events = [(0, 'call'), (4, 'line'), (4, 'return')] +# Tight loop with while(1) example (SF #765624) +def tightloop_example(): + items = range(0, 3) + try: + i = 0 + while 1: + print items[i]; i+=1 + except IndexError: + pass + +tightloop_example.events = [(0, 'call'), + (1, 'line'), + (2, 'line'), + (3, 'line'), + (4, 'line'), + (5, 'line'), + (5, 'line'), + (5, 'line'), + (5, 'exception'), + (6, 'line'), + (7, 'line'), + (7, 'return')] + class Tracer: def __init__(self): self.events = [] @@ -194,6 +217,8 @@ class TraceTestCase(unittest.TestCase): self.run_test2(settrace_and_raise) def test_10_ireturn(self): self.run_test(ireturn_example) + def test_11_tightloop(self): + self.run_test(tightloop_example) class RaisingTraceFuncTestCase(unittest.TestCase): def trace(self, frame, event, arg): -- cgit v0.12