8000 bpo-44446: support lineno being None in traceback.FrameSummary (GH-26… · python/cpython@91a8f8c · GitHub
[go: up one dir, main page]

Skip to content
8000

Commit 91a8f8c

Browse files
authored
bpo-44446: support lineno being None in traceback.FrameSummary (GH-26781)
As of 088a15c, lineno is None instead of -1 if there is no line number. Signed-off-by: Filipe Laíns <lains@riseup.net>
1 parent bbf2fb6 commit 91a8f8c

File tree

3 files changed

+7
-0
lines changed

3 files changed

+7
-0
lines changed

Lib/test/test_traceback.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1204,6 +1204,10 @@ def test_lazy_lines(self):
12041204
'"""Test cases for traceback module"""',
12051205
f.line)
12061206

1207+
def test_no_line(self):
1208+
f = traceback.FrameSummary("f", None, "dummy")
1209+
self.assertEqual(f.line, None)
1210+
12071211
def test_explicit_line(self):
12081212
f = traceback.FrameSummary("f", 1, "dummy", line="line")
12091213
self.assertEqual("line", f.line)

Lib/traceback.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,8 @@ def _original_line(self):
310310
@property
311311
def line(self):
312312
if self._line is None:
313+
if self.lineno is None:
314+
return None
313315
self._line = linecache.getline(self.filename, self.lineno)
314316
return self._line.strip()
315317

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Take into account that ``lineno`` might be ``None`` in :class:`traceback.FrameSummary`.

0 commit comments

Comments
 (0)
0