1""" 2Fuzz tests an object after the default construction to make sure it does not crash lldb. 3""" 4 5import lldb 6 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 pass 27 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 pass 47 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