brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · a65c3b8 Raw
62 lines · python
1"""2Test that lldb command "command source" works correctly.3"""4 5 6import lldb7from lldbsuite.test.decorators import *8from lldbsuite.test.lldbtest import *9from lldbsuite.test import lldbutil10 11 12class CommandSourceTestCase(TestBase):13    @no_debug_info_test14    def test_command_source(self):15        """Test that lldb command "command source" works correctly."""16 17        # Sourcing .lldb in the current working directory, which in turn imports18        # the "my" package that defines the date() function.19        self.runCmd("command source .lldb")20        self.check_results()21 22    @no_debug_info_test23    def test_command_source_relative(self):24        """Test that lldb command "command source" works correctly with relative paths."""25 26        # Sourcing .lldb in the current working directory, which in turn imports27        # the "my" package that defines the date() function.28        self.runCmd("command source commands2.txt")29        self.check_results()30 31    def check_results(self, failure=False):32        # Python should evaluate "my.date()" successfully.33        command_interpreter = self.dbg.GetCommandInterpreter()34        self.assertTrue(command_interpreter, VALID_COMMAND_INTERPRETER)35        result = lldb.SBCommandReturnObject()36        command_interpreter.HandleCommand("script my.date()", result)37 38        import datetime39 40        if failure:41            self.expect(42                result.GetOutput(),43                "script my.date() runs successfully",44                exe=False,45                error=True,46            )47        else:48            self.expect(49                result.GetOutput(),50                "script my.date() runs successfully",51                exe=False,52                substrs=[str(datetime.date.today())],53            )54 55    @no_debug_info_test56    def test_command_source_relative_error(self):57        """Test that 'command source -C' gives an error for a relative path"""58        source_dir = self.getSourceDir()59        result = lldb.SBCommandReturnObject()60        self.runCmd("command source --stop-on-error 1 not-relative.txt")61        self.check_results(failure=True)62