1*99451b44SJordan Rupprecht"""
2*99451b44SJordan RupprechtFuzz tests an object after the default construction to make sure it does not crash lldb.
3*99451b44SJordan Rupprecht"""
4*99451b44SJordan Rupprecht
5*99451b44SJordan Rupprechtimport lldb
6*99451b44SJordan Rupprecht
7*99451b44SJordan Rupprecht
8*99451b44SJordan Rupprechtdef fuzz_obj(obj):
9*99451b44SJordan Rupprecht    obj.GetTarget()
10*99451b44SJordan Rupprecht    obj.GetByteOrder()
11*99451b44SJordan Rupprecht    obj.PutSTDIN("my data")
12*99451b44SJordan Rupprecht    obj.GetSTDOUT(6)
13*99451b44SJordan Rupprecht    obj.GetSTDERR(6)
14*99451b44SJordan Rupprecht    event = lldb.SBEvent()
15*99451b44SJordan Rupprecht    try:
16*99451b44SJordan Rupprecht        obj.ReportEventState(event, None)
17*99451b44SJordan Rupprecht    except Exception:
18*99451b44SJordan Rupprecht        pass
19*99451b44SJordan Rupprecht    obj.AppendEventStateReport(event, lldb.SBCommandReturnObject())
20*99451b44SJordan Rupprecht    error = lldb.SBError()
21*99451b44SJordan Rupprecht    obj.RemoteAttachToProcessWithID(123, error)
22*99451b44SJordan Rupprecht    obj.RemoteLaunch(None, None, None, None, None, None, 0, False, error)
23*99451b44SJordan Rupprecht    obj.GetNumThreads()
24*99451b44SJordan Rupprecht    obj.GetThreadAtIndex(0)
25*99451b44SJordan Rupprecht    obj.GetThreadByID(0)
26*99451b44SJordan Rupprecht    obj.GetSelectedThread()
27*99451b44SJordan Rupprecht    obj.SetSelectedThread(lldb.SBThread())
28*99451b44SJordan Rupprecht    obj.SetSelectedThreadByID(0)
29*99451b44SJordan Rupprecht    obj.GetState()
30*99451b44SJordan Rupprecht    obj.GetExitStatus()
31*99451b44SJordan Rupprecht    obj.GetExitDescription()
32*99451b44SJordan Rupprecht    obj.GetProcessID()
33*99451b44SJordan Rupprecht    obj.GetAddressByteSize()
34*99451b44SJordan Rupprecht    obj.Destroy()
35*99451b44SJordan Rupprecht    obj.Continue()
36*99451b44SJordan Rupprecht    obj.Stop()
37*99451b44SJordan Rupprecht    obj.Kill()
38*99451b44SJordan Rupprecht    obj.Detach()
39*99451b44SJordan Rupprecht    obj.Signal(7)
40*99451b44SJordan Rupprecht    obj.ReadMemory(0x0000ffff, 10, error)
41*99451b44SJordan Rupprecht    obj.WriteMemory(0x0000ffff, "hi data", error)
42*99451b44SJordan Rupprecht    obj.ReadCStringFromMemory(0x0, 128, error)
43*99451b44SJordan Rupprecht    obj.ReadUnsignedFromMemory(0xff, 4, error)
44*99451b44SJordan Rupprecht    obj.ReadPointerFromMemory(0xff, error)
45*99451b44SJordan Rupprecht    obj.GetBroadcaster()
46*99451b44SJordan Rupprecht    obj.GetDescription(lldb.SBStream())
47*99451b44SJordan Rupprecht    obj.LoadImage(lldb.SBFileSpec(), error)
48*99451b44SJordan Rupprecht    obj.UnloadImage(0)
49*99451b44SJordan Rupprecht    obj.Clear()
50*99451b44SJordan Rupprecht    obj.GetNumSupportedHardwareWatchpoints(error)
51*99451b44SJordan Rupprecht    for thread in obj:
52*99451b44SJordan Rupprecht        s = str(thread)
53*99451b44SJordan Rupprecht    len(obj)
54