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.GetFrameID()
10*99451b44SJordan Rupprecht    obj.GetPC()
11*99451b44SJordan Rupprecht    obj.SetPC(0xffffffff)
12*99451b44SJordan Rupprecht    obj.GetSP()
13*99451b44SJordan Rupprecht    obj.GetFP()
14*99451b44SJordan Rupprecht    obj.GetPCAddress()
15*99451b44SJordan Rupprecht    obj.GetSymbolContext(0)
16*99451b44SJordan Rupprecht    obj.GetModule()
17*99451b44SJordan Rupprecht    obj.GetCompileUnit()
18*99451b44SJordan Rupprecht    obj.GetFunction()
19*99451b44SJordan Rupprecht    obj.GetSymbol()
20*99451b44SJordan Rupprecht    obj.GetBlock()
21*99451b44SJordan Rupprecht    obj.GetFunctionName()
22*99451b44SJordan Rupprecht    obj.IsInlined()
23*99451b44SJordan Rupprecht    obj.EvaluateExpression("x + y")
24*99451b44SJordan Rupprecht    obj.EvaluateExpression("x + y", lldb.eDynamicCanRunTarget)
25*99451b44SJordan Rupprecht    obj.GetFrameBlock()
26*99451b44SJordan Rupprecht    obj.GetLineEntry()
27*99451b44SJordan Rupprecht    obj.GetThread()
28*99451b44SJordan Rupprecht    obj.Disassemble()
29*99451b44SJordan Rupprecht    obj.GetVariables(True, True, True, True)
30*99451b44SJordan Rupprecht    obj.GetVariables(True, True, True, False, lldb.eDynamicCanRunTarget)
31*99451b44SJordan Rupprecht    obj.GetRegisters()
32*99451b44SJordan Rupprecht    obj.FindVariable("my_var")
33*99451b44SJordan Rupprecht    obj.FindVariable("my_var", lldb.eDynamicCanRunTarget)
34*99451b44SJordan Rupprecht    obj.FindValue("your_var", lldb.eValueTypeVariableGlobal)
35*99451b44SJordan Rupprecht    obj.FindValue(
36*99451b44SJordan Rupprecht        "your_var",
37*99451b44SJordan Rupprecht        lldb.eValueTypeVariableStatic,
38*99451b44SJordan Rupprecht        lldb.eDynamicCanRunTarget)
39*99451b44SJordan Rupprecht    obj.GetDescription(lldb.SBStream())
40*99451b44SJordan Rupprecht    obj.Clear()
41