"""
Test how lldb reacts to wrong commands
"""
import lldb
from lldbsuite.test.decorators import *
from lldbsuite.test.lldbtest import *
from lldbsuite.test import lldbutil
class UnknownCommandTestCase(TestBase):
@no_debug_info_test
def test_ambiguous_command(self):
command_interpreter = self.dbg.GetCommandInterpreter()
self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
result = lldb.SBCommandReturnObject()
command_interpreter.HandleCommand("g", result)
self.assertFalse(result.Succeeded())
self.assertRegex(result.GetError(), "Ambiguous command 'g'. Possible matches:")
self.assertRegex(result.GetError(), "gui")
self.assertRegex(result.GetError(), "gdb-remote")
self.assertEqual(1, result.GetError().count("gdb-remote"))
@no_debug_info_test
def test_unknown_command(self):
command_interpreter = self.dbg.GetCommandInterpreter()
self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
result = lldb.SBCommandReturnObject()
command_interpreter.HandleCommand("qbert", result)
self.assertFalse(result.Succeeded())
self.assertEqual(result.GetError(), "error: 'qbert' is not a valid command.\n")