summaryrefslogtreecommitdiffstats
path: root/lldb/test/python_api/process/TestProcessAPI.py
diff options
context:
space:
mode:
authorJohnny Chen <johnny.chen@apple.com>2011-03-03 01:41:57 +0000
committerJohnny Chen <johnny.chen@apple.com>2011-03-03 01:41:57 +0000
commitd61816b5b8c5e0f5d5c9e6c5e6811bee59c98140 (patch)
treef51b3a5b57c08b2c2c7957f9803f66402c6b2d95 /lldb/test/python_api/process/TestProcessAPI.py
parentec845689049c89ffb7d021cc245774f0f21e6796 (diff)
downloadbcm5719-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/process/TestProcessAPI.py')
-rw-r--r--lldb/test/python_api/process/TestProcessAPI.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/lldb/test/python_api/process/TestProcessAPI.py b/lldb/test/python_api/process/TestProcessAPI.py
index fd8b229553e..474ae062059 100644
--- a/lldb/test/python_api/process/TestProcessAPI.py
+++ b/lldb/test/python_api/process/TestProcessAPI.py
@@ -5,6 +5,7 @@ Test SBProcess APIs, including ReadMemory(), WriteMemory(), and others.
import os, time
import unittest2
import lldb
+from lldbutil import get_stopped_thread
from lldbtest import *
class ProcessAPITestCase(TestBase):
@@ -71,8 +72,9 @@ class ProcessAPITestCase(TestBase):
error = lldb.SBError()
self.process = target.Launch (self.dbg.GetListener(), None, None, os.ctermid(), os.ctermid(), os.ctermid(), None, 0, False, error)
- thread = self.process.GetThreadAtIndex(0);
- frame = thread.GetFrameAtIndex(0);
+ thread = get_stopped_thread(self.process, lldb.eStopReasonBreakpoint)
+ self.assertTrue(thread != None, "There should be a thread stopped due to breakpoint")
+ frame = thread.GetFrameAtIndex(0)
# Get the SBValue for the global variable 'my_char'.
val = frame.FindValue("my_char", lldb.eValueTypeVariableGlobal)
@@ -111,8 +113,9 @@ class ProcessAPITestCase(TestBase):
error = lldb.SBError()
self.process = target.Launch (self.dbg.GetListener(), None, None, os.ctermid(), os.ctermid(), os.ctermid(), None, 0, False, error)
- thread = self.process.GetThreadAtIndex(0);
- frame = thread.GetFrameAtIndex(0);
+ thread = get_stopped_thread(self.process, lldb.eStopReasonBreakpoint)
+ self.assertTrue(thread != None, "There should be a thread stopped due to breakpoint")
+ frame = thread.GetFrameAtIndex(0)
# Get the SBValue for the global variable 'my_char'.
val = frame.FindValue("my_char", lldb.eValueTypeVariableGlobal)
@@ -160,8 +163,9 @@ class ProcessAPITestCase(TestBase):
error = lldb.SBError()
self.process = target.Launch (self.dbg.GetListener(), None, None, os.ctermid(), os.ctermid(), os.ctermid(), None, 0, False, error)
- thread = self.process.GetThreadAtIndex(0);
- frame = thread.GetFrameAtIndex(0);
+ thread = get_stopped_thread(self.process, lldb.eStopReasonBreakpoint)
+ self.assertTrue(thread != None, "There should be a thread stopped due to breakpoint")
+ frame = thread.GetFrameAtIndex(0)
# Get the SBValue for the global variable 'my_int'.
val = frame.FindValue("my_int", lldb.eValueTypeVariableGlobal)
OpenPOWER on IntegriCloud