diff options
| author | Chelsea Cassanova <chelsea_cassanova@apple.com> | 2024-06-11 15:20:35 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-11 15:20:35 -0700 |
| commit | 6fb6eba9304b63e86ebf039edcb9a0b32e4b39e7 (patch) | |
| tree | 2d22728abe59b2348ee67a9d2c42939492e7824b /lldb/test/API/python_api | |
| parent | 0fb216fb2fbb49c1fe90c1c3267873a100b1c356 (diff) | |
| download | llvm-6fb6eba9304b63e86ebf039edcb9a0b32e4b39e7.zip llvm-6fb6eba9304b63e86ebf039edcb9a0b32e4b39e7.tar.gz llvm-6fb6eba9304b63e86ebf039edcb9a0b32e4b39e7.tar.bz2 | |
[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.
Diffstat (limited to 'lldb/test/API/python_api')
| -rw-r--r-- | lldb/test/API/python_api/interpreter/TestCommandOverrideCallback.py | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/lldb/test/API/python_api/interpreter/TestCommandOverrideCallback.py b/lldb/test/API/python_api/interpreter/TestCommandOverrideCallback.py new file mode 100644 index 0000000..a593feb --- /dev/null +++ b/lldb/test/API/python_api/interpreter/TestCommandOverrideCallback.py @@ -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") |
