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