xref: /llvm-project/lldb/test/API/commands/command/script/welcome.py (revision fd35a92300a00edaf56ae94176317390677569a4)
199451b44SJordan Rupprechtimport lldb
299451b44SJordan Rupprechtimport sys
399451b44SJordan Rupprecht
499451b44SJordan Rupprecht
599451b44SJordan Rupprechtclass WelcomeCommand(object):
699451b44SJordan Rupprecht    def __init__(self, debugger, session_dict):
799451b44SJordan Rupprecht        pass
899451b44SJordan Rupprecht
999451b44SJordan Rupprecht    def get_short_help(self):
102238dcc3SJonas Devlieghere        return (
112238dcc3SJonas Devlieghere            "Just a docstring for welcome_impl\nA command that says hello to LLDB users"
122238dcc3SJonas Devlieghere        )
1399451b44SJordan Rupprecht
1499451b44SJordan Rupprecht    def __call__(self, debugger, args, exe_ctx, result):
152238dcc3SJonas Devlieghere        print("Hello " + args + ", welcome to LLDB", file=result)
1699451b44SJordan Rupprecht        return None
1799451b44SJordan Rupprecht
1899451b44SJordan Rupprecht
1999451b44SJordan Rupprechtclass TargetnameCommand(object):
2099451b44SJordan Rupprecht    def __init__(self, debugger, session_dict):
2199451b44SJordan Rupprecht        pass
2299451b44SJordan Rupprecht
2399451b44SJordan Rupprecht    def __call__(self, debugger, args, exe_ctx, result):
2499451b44SJordan Rupprecht        target = debugger.GetSelectedTarget()
2599451b44SJordan Rupprecht        file = target.GetExecutable()
262238dcc3SJonas Devlieghere        print("Current target " + file.GetFilename(), file=result)
272238dcc3SJonas Devlieghere        if args == "fail":
282238dcc3SJonas Devlieghere            result.SetError("a test for error in command")
2999451b44SJordan Rupprecht
3099451b44SJordan Rupprecht    def get_flags(self):
3199451b44SJordan Rupprecht        return lldb.eCommandRequiresTarget
3299451b44SJordan Rupprecht
3399451b44SJordan Rupprecht
3499451b44SJordan Rupprechtdef print_wait_impl(debugger, args, result, dict):
3599451b44SJordan Rupprecht    result.SetImmediateOutputFile(sys.stdout)
362238dcc3SJonas Devlieghere    print("Trying to do long task..", file=result)
3799451b44SJordan Rupprecht    import time
382238dcc3SJonas Devlieghere
3999451b44SJordan Rupprecht    time.sleep(1)
402238dcc3SJonas Devlieghere    print("Still doing long task..", file=result)
4199451b44SJordan Rupprecht    time.sleep(1)
422238dcc3SJonas Devlieghere    print("Done; if you saw the delays I am doing OK", file=result)
4399451b44SJordan Rupprecht
4499451b44SJordan Rupprecht
4599451b44SJordan Rupprechtdef check_for_synchro(debugger, args, result, dict):
4699451b44SJordan Rupprecht    if debugger.GetAsync():
472238dcc3SJonas Devlieghere        print("I am running async", file=result)
48*fd35a923SEisuke Kawashima    if not debugger.GetAsync():
492238dcc3SJonas Devlieghere        print("I am running sync", file=result)
5099451b44SJordan Rupprecht
5199451b44SJordan Rupprecht
5299451b44SJordan Rupprechtdef takes_exe_ctx(debugger, args, exe_ctx, result, dict):
5399451b44SJordan Rupprecht    print(str(exe_ctx.GetTarget()), file=result)
54