diff options
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test/commands/command/source')
5 files changed, 47 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/commands/command/source/.categories b/lldb/packages/Python/lldbsuite/test/commands/command/source/.categories new file mode 100644 index 00000000000..3a3f4df6416 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/commands/command/source/.categories @@ -0,0 +1 @@ +cmdline diff --git a/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb b/lldb/packages/Python/lldbsuite/test/commands/command/source/.lldb new file mode 100644 index 00000000000..ecbdcff4462 --- /dev/null +++ b/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/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py b/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py new file mode 100644 index 00000000000..a30f0d497be --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/commands/command/source/TestCommandSource.py @@ -0,0 +1,35 @@ +""" +Test that lldb command "command source" works correctly. +""" + +from __future__ import print_function + + +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/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt b/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt new file mode 100644 index 00000000000..8e4de66d469 --- /dev/null +++ b/lldb/packages/Python/lldbsuite/test/commands/command/source/commands.txt @@ -0,0 +1,2 @@ +script import my +p 1 + 1 diff --git a/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py b/lldb/packages/Python/lldbsuite/test/commands/command/source/my.py new file mode 100644 index 00000000000..bd97fda3cbb --- /dev/null +++ b/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) |