summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2016-07-11 17:36:55 +0000
committerEnrico Granata <egranata@apple.com>2016-07-11 17:36:55 +0000
commit02989a4b5d9c1f02bef6b761e216e05a48864ada (patch)
tree57d2d845309abe571445ae8dc75056ce235a5cf2 /lldb/packages/Python/lldbsuite
parent71021cdf474939ce92b8d220feebd4fb2a8c3dc4 (diff)
downloadbcm5719-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')
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/.categories1
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/TestCommandScriptAlias.py37
-rw-r--r--lldb/packages/Python/lldbsuite/test/functionalities/command_script_alias/tcsacmd.py11
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
+
OpenPOWER on IntegriCloud