
Summary: Moves lldbsuite tests to lldb/test/API. This is a largely mechanical change, moved with the following steps: ``` rm lldb/test/API/testcases mkdir -p lldb/test/API/{test_runner/test,tools/lldb-{server,vscode}} mv lldb/packages/Python/lldbsuite/test/test_runner/test lldb/test/API/test_runner for d in $(find lldb/packages/Python/lldbsuite/test/* -maxdepth 0 -type d | egrep -v "make|plugins|test_runner|tools"); do mv $d lldb/test/API; done for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-vscode -maxdepth 1 -mindepth 1 | grep -v ".py"); do mv $d lldb/test/API/tools/lldb-vscode; done for d in $(find lldb/packages/Python/lldbsuite/test/tools/lldb-server -maxdepth 1 -mindepth 1 | egrep -v "gdbremote_testcase.py|lldbgdbserverutils.py|socket_packet_pump.py"); do mv $d lldb/test/API/tools/lldb-server; done ``` lldb/packages/Python/lldbsuite/__init__.py and lldb/test/API/lit.cfg.py were also updated with the new directory structure. Reviewers: labath, JDevlieghere Tags: #lldb Differential Revision: https://reviews.llvm.org/D71151
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 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:
|
|
s = str(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()
|