| """ |
| Test how lldb reacts to ambiguous commands |
| """ |
| |
| import lldb |
| from lldbsuite.test.decorators import * |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test import lldbutil |
| |
| |
| class AmbiguousCommandTestCase(TestBase): |
| @no_debug_info_test |
| def test_ambiguous_command_with_alias(self): |
| command_interpreter = self.dbg.GetCommandInterpreter() |
| self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER) |
| result = lldb.SBCommandReturnObject() |
| |
| command_interpreter.HandleCommand( |
| "command alias corefile target create -c %0", result |
| ) |
| self.assertTrue(result.Succeeded()) |
| |
| command_interpreter.ResolveCommand("co", result) |
| self.assertFalse(result.Succeeded()) |
| self.assertEqual( |
| result.GetError(), |
| "Ambiguous command 'co'. Possible matches:\n\tcommand\n\tcontinue\n\tcorefile\n", |
| ) |
| |
| command_interpreter.HandleCommand("command unalias continue", result) |
| self.assertTrue(result.Succeeded()) |
| |
| command_interpreter.ResolveCommand("co", result) |
| self.assertTrue(result.Succeeded()) |
| self.assertEqual(result.GetOutput(), "target create -c %0") |