aboutsummaryrefslogtreecommitdiff
path: root/packages/Python/lldbsuite/test/functionalities/command_source
diff options
context:
space:
mode:
Diffstat (limited to 'packages/Python/lldbsuite/test/functionalities/command_source')
-rw-r--r--packages/Python/lldbsuite/test/functionalities/command_source/.categories1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/command_source/.lldb1
-rw-r--r--packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py36
-rw-r--r--packages/Python/lldbsuite/test/functionalities/command_source/my.py6
4 files changed, 44 insertions, 0 deletions
diff --git a/packages/Python/lldbsuite/test/functionalities/command_source/.categories b/packages/Python/lldbsuite/test/functionalities/command_source/.categories
new file mode 100644
index 000000000000..3a3f4df6416b
--- /dev/null
+++ b/packages/Python/lldbsuite/test/functionalities/command_source/.categories
@@ -0,0 +1 @@
+cmdline
diff --git a/packages/Python/lldbsuite/test/functionalities/command_source/.lldb b/packages/Python/lldbsuite/test/functionalities/command_source/.lldb
new file mode 100644
index 000000000000..c544523832e7
--- /dev/null
+++ b/packages/Python/lldbsuite/test/functionalities/command_source/.lldb
@@ -0,0 +1 @@
+script import my
diff --git a/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py b/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py
new file mode 100644
index 000000000000..013803e698af
--- /dev/null
+++ b/packages/Python/lldbsuite/test/functionalities/command_source/TestCommandSource.py
@@ -0,0 +1,36 @@
+"""
+Test that lldb command "command source" works correctly.
+
+See also http://llvm.org/viewvc/llvm-project?view=rev&revision=109673.
+"""
+
+from __future__ import print_function
+
+
+
+import os, sys
+import lldb
+from lldbsuite.test.lldbtest import *
+
+class CommandSourceTestCase(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ @no_debug_info_test
+ def test_command_source(self):
+ """Test that lldb command "command source" works correctly."""
+
+ # Sourcing .lldb in the current working directory, which in turn imports
+ # the "my" package that defines the date() function.
+ self.runCmd("command source .lldb")
+
+ # Python should evaluate "my.date()" successfully.
+ command_interpreter = self.dbg.GetCommandInterpreter()
+ self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)
+ result = lldb.SBCommandReturnObject()
+ command_interpreter.HandleCommand("script my.date()", result)
+
+ import datetime
+ self.expect(result.GetOutput(), "script my.date() runs successfully",
+ exe=False,
+ substrs = [str(datetime.date.today())])
diff --git a/packages/Python/lldbsuite/test/functionalities/command_source/my.py b/packages/Python/lldbsuite/test/functionalities/command_source/my.py
new file mode 100644
index 000000000000..cb2fd012e4bd
--- /dev/null
+++ b/packages/Python/lldbsuite/test/functionalities/command_source/my.py
@@ -0,0 +1,6 @@
+from __future__ import print_function
+
+def date():
+ import datetime
+ today = datetime.date.today()
+ print(today)