mirror of
https://github.com/python/cpython.git
synced 2025-07-22 10:45:22 +00:00
Issue #15812: inspect.getframeinfo() now correctly shows the first line of a context
Patch by Sam Breese.
This commit is contained in:
parent
4950ae1491
commit
ff0e3b7a54
3 changed files with 9 additions and 1 deletions
|
@ -1416,7 +1416,7 @@ def getframeinfo(frame, context=1):
|
||||||
except OSError:
|
except OSError:
|
||||||
lines = index = None
|
lines = index = None
|
||||||
else:
|
else:
|
||||||
start = max(start, 1)
|
start = max(start, 0)
|
||||||
start = max(0, min(start, len(lines) - context))
|
start = max(0, min(start, len(lines) - context))
|
||||||
lines = lines[start:start+context]
|
lines = lines[start:start+context]
|
||||||
index = lineno - 1 - start
|
index = lineno - 1 - start
|
||||||
|
|
|
@ -391,6 +391,11 @@ class TestRetrievingSourceCode(GetSourceBase):
|
||||||
# Check filename override
|
# Check filename override
|
||||||
self.assertEqual(inspect.getmodule(None, modfile), mod)
|
self.assertEqual(inspect.getmodule(None, modfile), mod)
|
||||||
|
|
||||||
|
def test_getframeinfo_get_first_line(self):
|
||||||
|
frame_info = inspect.getframeinfo(self.fodderModule.fr, 50)
|
||||||
|
self.assertEqual(frame_info.code_context[0], "# line 1\n")
|
||||||
|
self.assertEqual(frame_info.code_context[1], "'A module docstring.'\n")
|
||||||
|
|
||||||
def test_getsource(self):
|
def test_getsource(self):
|
||||||
self.assertSourceEqual(git.abuse, 29, 39)
|
self.assertSourceEqual(git.abuse, 29, 39)
|
||||||
self.assertSourceEqual(mod.StupidGit, 21, 51)
|
self.assertSourceEqual(mod.StupidGit, 21, 51)
|
||||||
|
|
|
@ -140,6 +140,9 @@ Core and Builtins
|
||||||
Library
|
Library
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
- Issue #15812: inspect.getframeinfo() now correctly shows the first line of
|
||||||
|
a context. Patch by Sam Breese.
|
||||||
|
|
||||||
- Issue #29094: Offsets in a ZIP file created with extern file object and modes
|
- Issue #29094: Offsets in a ZIP file created with extern file object and modes
|
||||||
"w" and "x" now are relative to the start of the file.
|
"w" and "x" now are relative to the start of the file.
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue