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