xref: /llvm-project/lldb/test/API/functionalities/wrong_commands/TestWrongCommands.py (revision 737bc9f76a14b955bdfeb3811ce6c9156572be9f)
199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtTest how lldb reacts to wrong commands
399451b44SJordan Rupprecht"""
499451b44SJordan Rupprecht
599451b44SJordan Rupprechtimport lldb
699451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
799451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
899451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
999451b44SJordan Rupprecht
1099451b44SJordan Rupprecht
112238dcc3SJonas Devlieghereclass UnknownCommandTestCase(TestBase):
1299451b44SJordan Rupprecht    @no_debug_info_test
1399451b44SJordan Rupprecht    def test_ambiguous_command(self):
1499451b44SJordan Rupprecht        command_interpreter = self.dbg.GetCommandInterpreter()
1599451b44SJordan Rupprecht        self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
1699451b44SJordan Rupprecht        result = lldb.SBCommandReturnObject()
1799451b44SJordan Rupprecht
1899451b44SJordan Rupprecht        command_interpreter.HandleCommand("g", result)
1999451b44SJordan Rupprecht        self.assertFalse(result.Succeeded())
20*737bc9f7SJonas Devlieghere        self.assertRegex(result.GetError(), "Ambiguous command 'g'. Possible matches:")
21*737bc9f7SJonas Devlieghere        self.assertRegex(result.GetError(), "gui")
22*737bc9f7SJonas Devlieghere        self.assertRegex(result.GetError(), "gdb-remote")
2380fcecb1SJonas Devlieghere        self.assertEqual(1, result.GetError().count("gdb-remote"))
2499451b44SJordan Rupprecht
2599451b44SJordan Rupprecht    @no_debug_info_test
2699451b44SJordan Rupprecht    def test_unknown_command(self):
2799451b44SJordan Rupprecht        command_interpreter = self.dbg.GetCommandInterpreter()
2899451b44SJordan Rupprecht        self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
2999451b44SJordan Rupprecht        result = lldb.SBCommandReturnObject()
3099451b44SJordan Rupprecht
3199451b44SJordan Rupprecht        command_interpreter.HandleCommand("qbert", result)
3299451b44SJordan Rupprecht        self.assertFalse(result.Succeeded())
3380fcecb1SJonas Devlieghere        self.assertEqual(result.GetError(), "error: 'qbert' is not a valid command.\n")
34