1""" 2Test how lldb reacts to ambiguous commands 3""" 4 5import lldb 6from lldbsuite.test.decorators import * 7from lldbsuite.test.lldbtest import * 8from lldbsuite.test import lldbutil 9 10 11class AmbiguousCommandTestCase(TestBase): 12 @no_debug_info_test 13 def test_ambiguous_command_with_alias(self): 14 command_interpreter = self.dbg.GetCommandInterpreter() 15 self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER) 16 result = lldb.SBCommandReturnObject() 17 18 command_interpreter.HandleCommand( 19 "command alias corefile target create -c %0", result 20 ) 21 self.assertTrue(result.Succeeded()) 22 23 command_interpreter.ResolveCommand("co", result) 24 self.assertFalse(result.Succeeded()) 25 self.assertEqual( 26 result.GetError(), 27 "Ambiguous command 'co'. Possible matches:\n\tcommand\n\tcontinue\n\tcorefile\n", 28 ) 29 30 command_interpreter.HandleCommand("command unalias continue", result) 31 self.assertTrue(result.Succeeded()) 32 33 command_interpreter.ResolveCommand("co", result) 34 self.assertTrue(result.Succeeded()) 35 self.assertEqual(result.GetOutput(), "target create -c %0") 36