Files
clang-p2996/lldb/test/python_api/default-constructor/sb_process.py
Johnny Chen 49cb85db64 SBProcess.PutSTDIN() needs to be properly typemapped when swigging,
so that we can do Python scripting like this:

        target = self.dbg.CreateTarget(self.exe)

        self.dbg.SetAsync(True)
        process = target.LaunchSimple(None, None, os.getcwd())

        process.PutSTDIN("Line 1 Entered.\n")
        process.PutSTDIN("Line 2 Entered.\n")
        process.PutSTDIN("Line 3 Entered.\n")

Add TestProcessIO.py to exercise the process IO API: PutSTDIN()/GetSTDOUT()/GetSTDERR().

llvm-svn: 145282
2011-11-28 21:39:07 +00:00

46 lines
1.2 KiB
Python

"""
Fuzz tests an object after the default construction to make sure it does not crash lldb.
"""
import sys
import lldb
def fuzz_obj(obj):
obj.GetTarget()
obj.GetByteOrder()
obj.PutSTDIN("my data")
obj.GetSTDOUT(6)
obj.GetSTDERR(6)
event = lldb.SBEvent()
obj.ReportEventState(event, None)
obj.AppendEventStateReport(event, lldb.SBCommandReturnObject())
error = lldb.SBError()
obj.RemoteAttachToProcessWithID(123, error)
obj.RemoteLaunch(None, None, None, None, None, None, 0, False, error)
obj.GetNumThreads()
obj.GetThreadAtIndex(0)
obj.GetThreadByID(0)
obj.GetSelectedThread()
obj.SetSelectedThread(lldb.SBThread())
obj.SetSelectedThreadByID(0)
obj.GetState()
obj.GetExitStatus()
obj.GetExitDescription()
obj.GetProcessID()
obj.GetAddressByteSize()
obj.Destroy()
obj.Continue()
obj.Stop()
obj.Kill()
obj.Detach()
obj.Signal(7)
obj.ReadMemory(0x0000ffff, 10, error)
obj.WriteMemory(0x0000ffff, "hi data", error)
obj.GetBroadcaster()
obj.GetDescription(lldb.SBStream())
obj.LoadImage(lldb.SBFileSpec(), error)
obj.UnloadImage(0)
obj.Clear()
for thread in obj:
print thread