llvm/lldb/test/API/api/multithreaded/some_cmd.py

""" Test command for checking the Python commands can run in a stop-hook """
import lldb

did_run = False


class SomeCommand:
    def __init__(self, debugger, unused):
        self.dbg = debugger

    def __call__(self, debugger, command, exe_ctx, result):
        global did_run
        did_run = True
        result.PutCString("some output\n")

    def get_short_help(self):
        return "Test command - sets a variable."


class OtherCommand:
    def __init__(self, debugger, unused):
        self.dbg = debugger

    def __call__(self, debugger, command, exe_ctx, result):
        global did_run
        if did_run:
            result.SetStatus(lldb.eReturnStatusSuccessFinishNoResult)
        else:
            result.SetStatus(lldb.eReturnStatusFailed)

    def get_short_help(self):
        return "Test command - sets a variable."


def __lldb_init_module(debugger, unused):
    print("Adding command some-cmd and report-cmd")
    debugger.HandleCommand("command script add -c some_cmd.SomeCommand some-cmd")
    debugger.HandleCommand("command script add -c some_cmd.OtherCommand report-cmd")