summaryrefslogtreecommitdiffstats
path: root/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source')
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb2
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py34
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt2
-rw-r--r--gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py7
4 files changed, 45 insertions, 0 deletions
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb
new file mode 100644
index 00000000000..ecbdcff4462
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb
@@ -0,0 +1,2 @@
+# one more level of indirection to stress the command interpreter reentrancy
+command source commands.txt
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py
new file mode 100644
index 00000000000..6d2717b16e2
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py
@@ -0,0 +1,34 @@
+"""
+Test that lldb command "command source" works correctly.
+"""
+
+
+
+import lldb
+from lldbsuite.test.decorators import *
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test import lldbutil
+
+
+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/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt
new file mode 100644
index 00000000000..8e4de66d469
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt
@@ -0,0 +1,2 @@
+script import my
+p 1 + 1
diff --git a/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py
new file mode 100644
index 00000000000..bd97fda3cbb
--- /dev/null
+++ b/gnu/llvm/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py
@@ -0,0 +1,7 @@
+from __future__ import print_function
+
+
+def date():
+ import datetime
+ today = datetime.date.today()
+ print(today)