mirror of
https://github.com/python/cpython.git
synced 2025-08-23 18:24:46 +00:00
Merged revisions 79986-79987,80156 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r79986 | martin.v.loewis | 2010-04-12 07:18:16 +0200 (Mo, 12 Apr 2010) | 2 lines Issue #8330: Fix expected output in test_gdb. ........ r79987 | martin.v.loewis | 2010-04-12 07:22:25 +0200 (Mo, 12 Apr 2010) | 2 lines Re-enable all tests, to see which ones fail on the buildbots. ........ r80156 | martin.v.loewis | 2010-04-18 00:40:40 +0200 (So, 18 Apr 2010) | 2 lines Issue #8279: Fix test_gdb failures. ........
This commit is contained in:
parent
ae2a0aeb3c
commit
5226fd66e1
3 changed files with 121 additions and 91 deletions
|
@ -1097,6 +1097,11 @@ def register (obj):
|
|||
register (gdb.current_objfile ())
|
||||
|
||||
|
||||
|
||||
# Unfortunately, the exact API exposed by the gdb module varies somewhat
|
||||
# from build to build
|
||||
# See http://bugs.python.org/issue8279?#msg102276
|
||||
|
||||
class Frame(object):
|
||||
'''
|
||||
Wrapper for gdb.Frame, adding various methods
|
||||
|
@ -1119,7 +1124,16 @@ class Frame(object):
|
|||
return None
|
||||
|
||||
def select(self):
|
||||
'''If supported, select this frame and return True; return False if unsupported
|
||||
|
||||
Not all builds have a gdb.Frame.select method; seems to be present on Fedora 12
|
||||
onwards, but absent on Ubuntu buildbot'''
|
||||
if not hasattr(self._gdbframe, 'select'):
|
||||
print ('Unable to select frame: '
|
||||
'this build of gdb does not expose a gdb.Frame.select method')
|
||||
return False
|
||||
self._gdbframe.select()
|
||||
return True
|
||||
|
||||
def get_index(self):
|
||||
'''Calculate index of frame, starting at 0 for the newest frame within
|
||||
|
@ -1133,6 +1147,7 @@ class Frame(object):
|
|||
return index
|
||||
|
||||
def is_evalframeex(self):
|
||||
'''Is this a PyEval_EvalFrameEx frame?'''
|
||||
if self._gdbframe.name() == 'PyEval_EvalFrameEx':
|
||||
'''
|
||||
I believe we also need to filter on the inline
|
||||
|
@ -1270,8 +1285,8 @@ def move_in_stack(move_up):
|
|||
|
||||
if iter_frame.is_evalframeex():
|
||||
# Result:
|
||||
iter_frame.select()
|
||||
iter_frame.print_summary()
|
||||
if iter_frame.select():
|
||||
iter_frame.print_summary()
|
||||
return
|
||||
|
||||
frame = iter_frame
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue