aboutsummaryrefslogtreecommitdiff
path: root/lldb/test/API/python_api
diff options
context:
space:
mode:
authorChelsea Cassanova <chelsea_cassanova@apple.com>2024-06-11 15:20:35 -0700
committerGitHub <noreply@github.com>2024-06-11 15:20:35 -0700
commit6fb6eba9304b63e86ebf039edcb9a0b32e4b39e7 (patch)
tree2d22728abe59b2348ee67a9d2c42939492e7824b /lldb/test/API/python_api
parent0fb216fb2fbb49c1fe90c1c3267873a100b1c356 (diff)
downloadllvm-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.py31
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")