#4547: When debugging a very large function, it was not always
possible to update the lineno attribute of the current frame.
diff --git a/Lib/test/test_trace.py b/Lib/test/test_trace.py
index f5b8dbf..f69af8d 100644
--- a/Lib/test/test_trace.py
+++ b/Lib/test/test_trace.py
@@ -740,6 +740,23 @@
def test_19_no_jump_without_trace_function(self):
no_jump_without_trace_function()
+ def test_20_large_function(self):
+ d = {}
+ exec("""def f(output): # line 0
+ x = 0 # line 1
+ y = 1 # line 2
+ ''' # line 3
+ %s # lines 4-1004
+ ''' # line 1005
+ x += 1 # line 1006
+ output.append(x) # line 1007
+ return""" % ('\n' * 1000,), d)
+ f = d['f']
+
+ f.jump = (2, 1007)
+ f.output = [0]
+ self.run_test(f)
+
def test_jump_to_firstlineno(self):
# This tests that PDB can jump back to the first line in a
# file. See issue #1689458. It can only be triggered in a