forked from OSchip/llvm-project
68 lines
1.9 KiB
Python
68 lines
1.9 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.GetError()
|
|
obj.GetID()
|
|
obj.GetName()
|
|
obj.GetTypeName()
|
|
obj.GetByteSize()
|
|
obj.IsInScope()
|
|
obj.GetFormat()
|
|
obj.SetFormat(lldb.eFormatBoolean)
|
|
obj.GetValue()
|
|
obj.GetValueType()
|
|
obj.GetValueDidChange()
|
|
obj.GetSummary()
|
|
obj.GetObjectDescription()
|
|
obj.GetLocation()
|
|
obj.SetValueFromCString("my_new_value")
|
|
obj.GetChildAtIndex(1)
|
|
obj.GetChildAtIndex(2, lldb.eNoDynamicValues, False)
|
|
obj.GetIndexOfChildWithName("my_first_child")
|
|
obj.GetChildMemberWithName("my_first_child")
|
|
obj.GetChildMemberWithName("my_first_child", lldb.eNoDynamicValues)
|
|
obj.GetNumChildren()
|
|
obj.GetOpaqueType()
|
|
obj.Dereference()
|
|
obj.TypeIsPointerType()
|
|
stream = lldb.SBStream()
|
|
obj.GetDescription(stream)
|
|
obj.GetExpressionPath(stream)
|
|
obj.GetExpressionPath(stream, True)
|
|
error = lldb.SBError()
|
|
obj.Watch(True, True, False, error)
|
|
obj.WatchPointee(True, False, True, error)
|
|
for child_val in obj:
|
|
print child_val
|
|
error = lldb.SBError()
|
|
obj.GetValueAsSigned (error, 0)
|
|
obj.GetValueAsUnsigned (error, 0)
|
|
obj.GetValueAsSigned(0)
|
|
obj.GetValueAsUnsigned(0)
|
|
obj.GetDynamicValue (lldb.eNoDynamicValues)
|
|
obj.GetStaticValue ()
|
|
obj.IsDynamic()
|
|
invalid_type = lldb.SBType()
|
|
obj.CreateChildAtOffset ("a", 12, invalid_type)
|
|
obj.Cast (invalid_type)
|
|
obj.CreateValueFromExpression ("pt->x", "pt->x")
|
|
obj.CreateValueFromAddress ("x", 0x123, invalid_type)
|
|
invalid_data = lldb.SBData()
|
|
obj.CreateValueFromData ("x", invalid_data, invalid_type)
|
|
obj.GetValueForExpressionPath("[0]")
|
|
obj.AddressOf()
|
|
obj.GetLoadAddress()
|
|
obj.GetAddress()
|
|
obj.GetPointeeData (0, 1)
|
|
obj.GetData ()
|
|
obj.GetTarget()
|
|
obj.GetProcess()
|
|
obj.GetThread()
|
|
obj.GetFrame()
|
|
obj.GetType()
|