Author: teemperor Date: Wed Aug 21 02:15:44 2019 New Revision: 369506 URL: http://llvm.org/viewvc/llvm-project?rev=369506&view=rev Log: [lldb][NFC] Add tests for invalid command invocations
Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/ lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/TestApropos.py lldb/trunk/packages/Python/lldbsuite/test/functionalities/reproducer/TestReproducer.py lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/ lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/TestVersion.py Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py lldb/trunk/packages/Python/lldbsuite/test/functionalities/plugins/commands/TestPluginCommands.py lldb/trunk/packages/Python/lldbsuite/test/help/TestHelp.py Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/TestApropos.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/TestApropos.py?rev=369506&view=auto ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/TestApropos.py (added) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/apropos/TestApropos.py Wed Aug 21 02:15:44 2019 @@ -0,0 +1,19 @@ +import lldb +from lldbsuite.test.lldbtest import * +from lldbsuite.test.decorators import * + +class AproposTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + @no_debug_info_test + def test_apropos(self): + self.expect("apropos", error=True, + substrs=[' must be called with exactly one argument']) + self.expect("apropos a b", error=True, + substrs=[' must be called with exactly one argument']) + self.expect("apropos ''", error=True, + substrs=['\'\' is not a valid search word']) Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py?rev=369506&r1=369505&r2=369506&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/completion/TestCompletion.py Wed Aug 21 02:15:44 2019 @@ -91,6 +91,10 @@ class CommandLineCompletionTestCase(Test 'arm64']) @skipIfFreeBSD # timing out on the FreeBSD buildbot + def test_plugin_load(self): + self.complete_from_to('plugin load ', []) + + @skipIfFreeBSD # timing out on the FreeBSD buildbot def test_quoted_command(self): self.complete_from_to('"set', ['"settings" ']) Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/plugins/commands/TestPluginCommands.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/plugins/commands/TestPluginCommands.py?rev=369506&r1=369505&r2=369506&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/plugins/commands/TestPluginCommands.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/plugins/commands/TestPluginCommands.py Wed Aug 21 02:15:44 2019 @@ -64,3 +64,15 @@ class PluginCommandTestCase(TestBase): print(retobj.GetOutput()) self.expect(retobj, substrs=['abc def ghi'], exe=False) + + @no_debug_info_test + def test_invalid_plugin_invocation(self): + self.expect("plugin load a b", + error=True, startstr="error: 'plugin load' requires one argument") + self.expect("plugin load", + error=True, startstr="error: 'plugin load' requires one argument") + + @no_debug_info_test + def test_invalid_plugin_target(self): + self.expect("plugin load ThisIsNotAValidPluginName", + error=True, startstr="error: no such file") Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/reproducer/TestReproducer.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/reproducer/TestReproducer.py?rev=369506&view=auto ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/reproducer/TestReproducer.py (added) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/reproducer/TestReproducer.py Wed Aug 21 02:15:44 2019 @@ -0,0 +1,20 @@ +import lldb +from lldbsuite.test.lldbtest import * +from lldbsuite.test.decorators import * + +class ReproducerTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + @no_debug_info_test + def test_reproducer_generate_invalid_invocation(self): + self.expect("reproducer generate f", error=True, + substrs=["'reproducer generate' takes no arguments"]) + + @no_debug_info_test + def test_reproducer_status_invalid_invocation(self): + self.expect("reproducer status f", error=True, + substrs=["'reproducer status' takes no arguments"]) Added: lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/TestVersion.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/TestVersion.py?rev=369506&view=auto ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/TestVersion.py (added) +++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/version/TestVersion.py Wed Aug 21 02:15:44 2019 @@ -0,0 +1,22 @@ +import lldb +from lldbsuite.test.lldbtest import * +from lldbsuite.test.decorators import * + +class VersionTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def setUp(self): + TestBase.setUp(self) + + @no_debug_info_test + def test_version(self): + # Should work even when people patch the output, + # so let's just assume that every vendor at least mentions + # 'lldb' in their version string. + self.expect("version", substrs=['lldb']) + + @no_debug_info_test + def test_version_invalid_invocation(self): + self.expect("version a", error=True, + substrs=['the version command takes no arguments.']) Modified: lldb/trunk/packages/Python/lldbsuite/test/help/TestHelp.py URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/help/TestHelp.py?rev=369506&r1=369505&r2=369506&view=diff ============================================================================== --- lldb/trunk/packages/Python/lldbsuite/test/help/TestHelp.py (original) +++ lldb/trunk/packages/Python/lldbsuite/test/help/TestHelp.py Wed Aug 21 02:15:44 2019 @@ -240,6 +240,22 @@ class HelpCommandTestCase(TestBase): substrs=["'alongaliasna' is an abbreviation for 'help'"]) @no_debug_info_test + def test_hidden_help(self): + self.expect("help -h", + substrs=["_regexp-bt"]) + + @no_debug_info_test + def test_help_ambiguous(self): + self.expect("help g", + substrs=["Help requested with ambiguous command name, possible completions:", + "gdb-remote", "gui"]) + + @no_debug_info_test + def test_help_unknown_flag(self): + self.expect("help -z", error=True, + substrs=["unknown or ambiguous option"]) + + @no_debug_info_test def test_help_format_output(self): """Test that help output reaches TerminalWidth.""" self.runCmd( _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits