1*99451b44SJordan Rupprecht"""
2*99451b44SJordan RupprechtTest how lldb reacts to wrong commands
3*99451b44SJordan Rupprecht"""
4*99451b44SJordan Rupprecht
5*99451b44SJordan Rupprecht
6*99451b44SJordan Rupprechtimport lldb
7*99451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
8*99451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
9*99451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
10*99451b44SJordan Rupprecht
11*99451b44SJordan Rupprechtclass UnknownCommandTestCase(TestBase):
12*99451b44SJordan Rupprecht
13*99451b44SJordan Rupprecht    @no_debug_info_test
14*99451b44SJordan Rupprecht    def test_ambiguous_command(self):
15*99451b44SJordan Rupprecht        command_interpreter = self.dbg.GetCommandInterpreter()
16*99451b44SJordan Rupprecht        self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
17*99451b44SJordan Rupprecht        result = lldb.SBCommandReturnObject()
18*99451b44SJordan Rupprecht
19*99451b44SJordan Rupprecht        command_interpreter.HandleCommand("g", result)
20*99451b44SJordan Rupprecht        self.assertFalse(result.Succeeded())
21*99451b44SJordan Rupprecht        self.assertRegexpMatches(result.GetError(), "Ambiguous command 'g'. Possible matches:")
22*99451b44SJordan Rupprecht        self.assertRegexpMatches(result.GetError(), "gui")
23*99451b44SJordan Rupprecht        self.assertRegexpMatches(result.GetError(), "gdb-remote")
24*99451b44SJordan Rupprecht        self.assertEquals(1, result.GetError().count("gdb-remote"))
25*99451b44SJordan Rupprecht
26*99451b44SJordan Rupprecht    @no_debug_info_test
27*99451b44SJordan Rupprecht    def test_unknown_command(self):
28*99451b44SJordan Rupprecht        command_interpreter = self.dbg.GetCommandInterpreter()
29*99451b44SJordan Rupprecht        self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
30*99451b44SJordan Rupprecht        result = lldb.SBCommandReturnObject()
31*99451b44SJordan Rupprecht
32*99451b44SJordan Rupprecht        command_interpreter.HandleCommand("qbert", result)
33*99451b44SJordan Rupprecht        self.assertFalse(result.Succeeded())
34*99451b44SJordan Rupprecht        self.assertEquals(result.GetError(), "error: 'qbert' is not a valid command.\n")
35