[lldb][api-test] Add API test for SBCommandInterpreter::CommandOverrideCallback (#94518)
`SBCommandInterpreter::CommandOverrideCallback` was not being exposed to the Python API and has no coverage in the API test suite, so this commits exposes and adds a test for it. Doing this involves also adding a typemap for the callback used for this function so that it matches the functionality of other callback functions that are exposed to Python.
This commit is contained in:
committed by
GitHub
parent
0fb216fb2f
commit
6fb6eba930
@@ -0,0 +1,31 @@
|
||||
from typing_extensions import override
|
||||
import lldb
|
||||
from lldbsuite.test.decorators import *
|
||||
from lldbsuite.test.lldbtest import *
|
||||
from lldbsuite.test import lldbutil
|
||||
|
||||
|
||||
class CommandOverrideCallback(TestBase):
|
||||
def setUp(self):
|
||||
TestBase.setUp(self)
|
||||
self.line = line_number("main.c", "Hello world.")
|
||||
|
||||
def test_command_override_callback(self):
|
||||
self.build()
|
||||
exe = self.getBuildArtifact("a.out")
|
||||
|
||||
target = self.dbg.CreateTarget(exe)
|
||||
self.assertTrue(target, VALID_TARGET)
|
||||
|
||||
ci = self.dbg.GetCommandInterpreter()
|
||||
self.assertTrue(ci, VALID_COMMAND_INTERPRETER)
|
||||
|
||||
command_arg = ""
|
||||
|
||||
def foo(*command_args):
|
||||
nonlocal command_arg
|
||||
command_arg = command_args[0]
|
||||
|
||||
self.assertTrue(ci.SetCommandOverrideCallback("breakpoint set", foo))
|
||||
self.expect("breakpoint set -n main")
|
||||
self.assertTrue(command_arg == "breakpoint")
|
||||
Reference in New Issue
Block a user