diff options
author | Raphael Isemann <teemperor@gmail.com> | 2018-07-26 16:32:05 +0000 |
---|---|---|
committer | Raphael Isemann <teemperor@gmail.com> | 2018-07-26 16:32:05 +0000 |
commit | 6fcc7d703b571f456f662a0be1ec6f449d55fdb9 (patch) | |
tree | 2203ff4702fcedaf0514346ba877b2b3e697a75a /lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py | |
parent | 4dd7558fab0da7889c1e31bcc741880d0e6cbb52 (diff) | |
download | bcm5719-llvm-6fcc7d703b571f456f662a0be1ec6f449d55fdb9.tar.gz bcm5719-llvm-6fcc7d703b571f456f662a0be1ec6f449d55fdb9.zip |
Don't print two errors for unknown commands.
Summary:
We always print two error messages when we hit an unknown command. As the function
`CommandInterpreter::HandleCommand` that prints the second error message unconditionally called the `CommandInterpreter::ResolveCommandImpl` before (which prints the first error message), we can just remove
that second error message.
Fixes https://bugs.llvm.org/show_bug.cgi?id=38312
Reviewers: labath
Reviewed By: labath
Subscribers: labath, lldb-commits
Differential Revision: https://reviews.llvm.org/D49831
llvm-svn: 338040
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py b/lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py new file mode 100644 index 00000000000..dcfb434f1e5 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py @@ -0,0 +1,39 @@ +""" +Test how lldb reacts to wrong commands +""" + +from __future__ import print_function + +import os +import time +import lldb +from lldbsuite.test.decorators import * +from lldbsuite.test.lldbtest import * +from lldbsuite.test import lldbutil + +class UnknownCommandTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + @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.assertRegexpMatches(result.GetError(), "Ambiguous command 'g'. Possible matches:") + self.assertRegexpMatches(result.GetError(), "gui") + self.assertRegexpMatches(result.GetError(), "gdb-remote") + # FIXME: Somehow we get 'gui' and 'gdb-remote' twice in the output. + + @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.assertEquals(result.GetError(), "error: 'qbert' is not a valid command.\n") |