65 lines · python
1"""2Fuzz tests an object after the default construction to make sure it does not crash lldb.3"""4 5import lldb6 7 8def fuzz_obj(obj):9 obj.SetAsync(True)10 obj.SetAsync(False)11 obj.GetAsync()12 obj.SkipLLDBInitFiles(True)13 obj.SetInputFileHandle(None, True)14 obj.SetOutputFileHandle(None, True)15 obj.SetErrorFileHandle(None, True)16 obj.SetInputString("")17 obj.GetInputFileHandle()18 obj.GetOutputFileHandle()19 obj.GetErrorFileHandle()20 obj.GetCommandInterpreter()21 obj.HandleCommand("nothing here")22 listener = obj.GetListener()23 try:24 obj.HandleProcessEvent(lldb.SBProcess(), lldb.SBEvent(), None, None)25 except Exception:26 pass27 obj.CreateTargetWithFileAndTargetTriple("a.out", "A-B-C")28 obj.CreateTargetWithFileAndArch("b.out", "arm")29 obj.CreateTarget("c.out")30 obj.DeleteTarget(lldb.SBTarget())31 obj.GetTargetAtIndex(0xFFFFFFFF)32 obj.FindTargetWithProcessID(0)33 obj.FindTargetWithFileAndArch("a.out", "arm")34 obj.GetNumTargets()35 obj.GetSelectedTarget()36 obj.GetNumPlatforms()37 obj.GetPlatformAtIndex(0xFFFFFFFF)38 obj.GetNumAvailablePlatforms()39 obj.GetAvailablePlatformInfoAtIndex(0xFFFFFFFF)40 obj.GetSourceManager()41 obj.SetSelectedTarget(lldb.SBTarget())42 obj.SetCurrentPlatformSDKRoot("tmp/sdk-root")43 try:44 obj.DispatchInput(None)45 except Exception:46 pass47 obj.DispatchInputInterrupt()48 obj.DispatchInputEndOfFile()49 obj.GetInstanceName()50 obj.GetDescription(lldb.SBStream())51 obj.GetTerminalWidth()52 obj.SetTerminalWidth(0xFFFFFFFF)53 obj.GetID()54 obj.GetPrompt()55 obj.SetPrompt("Hi, Mom!")56 obj.GetScriptLanguage()57 obj.SetScriptLanguage(lldb.eScriptLanguageNone)58 obj.SetScriptLanguage(lldb.eScriptLanguagePython)59 obj.GetCloseInputOnEOF()60 obj.SetCloseInputOnEOF(True)61 obj.SetCloseInputOnEOF(False)62 obj.Clear()63 for target in obj:64 s = str(target)65