diff options
| author | Johnny Chen <johnny.chen@apple.com> | 2011-03-03 01:41:57 +0000 | 
|---|---|---|
| committer | Johnny Chen <johnny.chen@apple.com> | 2011-03-03 01:41:57 +0000 | 
| commit | d61816b5b8c5e0f5d5c9e6c5e6811bee59c98140 (patch) | |
| tree | f51b3a5b57c08b2c2c7957f9803f66402c6b2d95 /lldb/test/python_api/symbol-context/TestSymbolContext.py | |
| parent | ec845689049c89ffb7d021cc245774f0f21e6796 (diff) | |
| download | bcm5719-llvm-d61816b5b8c5e0f5d5c9e6c5e6811bee59c98140.tar.gz bcm5719-llvm-d61816b5b8c5e0f5d5c9e6c5e6811bee59c98140.zip | |
Add TestTargetAPI.py:
// When stopped on breakppint 1, and then 2, we can get the line entries using
// SBFrame API SBFrame.GetLineEntry().  We'll get the start addresses for the
// two line entries; with the start address (of SBAddress type), we can then
// resolve the symbol context using the SBTarget API
// SBTarget.ResolveSymbolContextForAddress().
//
// The two symbol context should point to the same symbol, i.e., 'a' function.
Add two utility functions to lldbutil.py:
o get_stopped_threads(process, reason):
  return the list of threads with the specified stop reason or an empty list if not found
o get_stopped_thread(process, reason):
  return the first thread with the given stop reason or None if not found
llvm-svn: 126916
Diffstat (limited to 'lldb/test/python_api/symbol-context/TestSymbolContext.py')
| -rw-r--r-- | lldb/test/python_api/symbol-context/TestSymbolContext.py | 6 | 
1 files changed, 5 insertions, 1 deletions
| diff --git a/lldb/test/python_api/symbol-context/TestSymbolContext.py b/lldb/test/python_api/symbol-context/TestSymbolContext.py index 96d835695d0..4c373ad1464 100644 --- a/lldb/test/python_api/symbol-context/TestSymbolContext.py +++ b/lldb/test/python_api/symbol-context/TestSymbolContext.py @@ -54,7 +54,10 @@ class SymbolContextAPITestCase(TestBase):          self.assertTrue(self.process.IsValid(), PROCESS_IS_VALID)          # Frame #0 should be on self.line. -        frame0 = self.process.GetThreadAtIndex(0).GetFrameAtIndex(0) +        from lldbutil import get_stopped_thread +        thread = get_stopped_thread(self.process, lldb.eStopReasonBreakpoint) +        self.assertTrue(thread != None, "There should be a thread stopped due to breakpoint") +        frame0 = thread.GetFrameAtIndex(0)          self.assertTrue(frame0.GetLineEntry().GetLine() == self.line)          # Now get the SBSymbolContext from this frame.  We want everything. :-) @@ -81,6 +84,7 @@ class SymbolContextAPITestCase(TestBase):          #print "block:", block          lineEntry = context.GetLineEntry() +        #print "line entry:", lineEntry          self.expect(lineEntry.GetFileSpec().GetDirectory(), "The line entry should have the correct directory",                      exe=False,              substrs = [self.mydir]) | 

