mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
bpo-33065: Fix problem debugging user classes with __repr__ method (GH-24183)
If __repr__ uses instance attributes, as normal, and one steps through the __init__ method, debugger may try to get repr before the instance attributes exist. reprlib.repr handles the error.
This commit is contained in:
parent
d16f6176ab
commit
81f87bbf9f
4 changed files with 20 additions and 3 deletions
|
@ -25,5 +25,19 @@ class Test(unittest.TestCase):
|
|||
# Classes GUIProxy, IdbAdapter, FrameProxy, CodeProxy, DictProxy,
|
||||
# GUIAdapter, IdbProxy plus 7 module functions.
|
||||
|
||||
class IdbAdapterTest(unittest.TestCase):
|
||||
|
||||
def test_dict_item_noattr(self): # Issue 33065.
|
||||
|
||||
class BinData:
|
||||
def __repr__(self):
|
||||
return self.length
|
||||
|
||||
debugger_r.dicttable[0] = {'BinData': BinData()}
|
||||
idb = debugger_r.IdbAdapter(None)
|
||||
self.assertTrue(idb.dict_item(0, 'BinData'))
|
||||
debugger_r.dicttable.clear()
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
unittest.main(verbosity=2)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue