summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2018-07-26 16:32:05 +0000
committerRaphael Isemann <teemperor@gmail.com>2018-07-26 16:32:05 +0000
commit6fcc7d703b571f456f662a0be1ec6f449d55fdb9 (patch)
tree2203ff4702fcedaf0514346ba877b2b3e697a75a /lldb/packages/Python/lldbsuite/test/functionalities/wrong_commands/TestWrongCommands.py
parent4dd7558fab0da7889c1e31bcc741880d0e6cbb52 (diff)
downloadbcm5719-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.py39
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")
OpenPOWER on IntegriCloud