Kaydet (Commit) e66e7de5 authored tarafından Ezio Melotti's avatar Ezio Melotti

#17526: fix an IndexError raised while passing code without filename to…

#17526: fix an IndexError raised while passing code without filename to inspect.findsource().  Initial patch by Tyler Doyle.
üst f03aab7e
......@@ -525,7 +525,7 @@ def findsource(object):
file = getfile(object)
sourcefile = getsourcefile(object)
if not sourcefile and file[0] + file[-1] != '<>':
if not sourcefile and file[:1] + file[-1:] != '<>':
raise IOError('source code not available')
file = sourcefile if sourcefile else file
......
......@@ -404,6 +404,12 @@ class TestBuggyCases(GetSourceBase):
self.assertEqual(inspect.findsource(co), (lines,0))
self.assertEqual(inspect.getsource(co), lines[0])
def test_findsource_without_filename(self):
for fname in ['', '<string>']:
co = compile('x=1', fname, "exec")
self.assertRaises(IOError, inspect.findsource, co)
self.assertRaises(IOError, inspect.getsource, co)
class _BrokenDataDescriptor(object):
"""
......
......@@ -12,6 +12,9 @@ Core and Builtins
Library
-------
- Issue #17526: fix an IndexError raised while passing code without filename to
inspect.findsource(). Initial patch by Tyler Doyle.
What's New in Python 2.7.4?
===========================
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment