xref: /llvm-project/lldb/test/API/functionalities/ambigous_commands/TestAmbiguousCommands.py (revision 8334d2bfd34e2666db173269525d17352afa7bac)
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