diff options
author | Enrico Granata <egranata@apple.com> | 2016-07-11 17:36:55 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2016-07-11 17:36:55 +0000 |
commit | 02989a4b5d9c1f02bef6b761e216e05a48864ada (patch) | |
tree | 57d2d845309abe571445ae8dc75056ce235a5cf2 /lldb/packages/Python/lldbsuite | |
parent | 71021cdf474939ce92b8d220feebd4fb2a8c3dc4 (diff) | |
download | bcm5719-llvm-02989a4b5d9c1f02bef6b761e216e05a48864ada.tar.gz bcm5719-llvm-02989a4b5d9c1f02bef6b761e216e05a48864ada.zip |
Fix an issue where one could not define a Python command with the same name as an existing alias (or rather, one could but the results of invoking the command were far from satisfactory)
llvm-svn: 275080
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
3 files changed, 49 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/.categories b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/.categories new file mode 100644 index 00000000000..3a3f4df6416 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/.categories @@ -0,0 +1 @@ +cmdline diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/TestCommandScriptAlias.py b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/TestCommandScriptAlias.py new file mode 100644 index 00000000000..694728a9f9c --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/TestCommandScriptAlias.py @@ -0,0 +1,37 @@ +""" +Test lldb Python commands. +""" + +from __future__ import print_function + + +import os, time +import lldb +from lldbsuite.test.lldbtest import * + +class CommandScriptAliasTestCase(TestBase): + + mydir = TestBase.compute_mydir(__file__) + + def test (self): + self.pycmd_tests () + + def pycmd_tests (self): + self.runCmd("command script import tcsacmd.py") + self.runCmd("command script add -f tcsacmd.some_command_here attach") + + # This is the function to remove the custom commands in order to have a + # clean slate for the next test case. + def cleanup(): + self.runCmd('command script delete attach', check=False) + + # Execute the cleanup function during test case tear down. + self.addTearDownHook(cleanup) + + # We don't want to display the stdout if not in TraceOn() mode. + if not self.TraceOn(): + self.HideStdout() + + self.expect('attach a', substrs = ['Victory is mine']); + self.runCmd("command script delete attach") + self.runCmd('attach noprocessexistswiththisname', check=False) # this can't crash but we don't care whether the actual attach works diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/tcsacmd.py b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/tcsacmd.py new file mode 100644 index 00000000000..6c60e3ca1a5 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/tcsacmd.py @@ -0,0 +1,11 @@ +from __future__ import print_function +import lldb, sys + +def some_command_here(debugger, command, result, d): + if command == "a": + print("Victory is mine", file=result) + return True + else: + print("Sadness for all", file=result) + return False + |