| 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") |