brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · 77a7e7e Raw
35 lines · python
1"""2Test that debug symbols have the correct order as specified by the order file.3"""4 5 6import re7import lldb8from lldbsuite.test.decorators import *9from lldbsuite.test.lldbtest import *10from lldbsuite.test import lldbutil11 12 13class OrderFileTestCase(TestBase):14    @skipUnlessDarwin15    def test(self):16        """Test debug symbols follow the correct order by the order file."""17        self.build()18        exe = self.getBuildArtifact("a.out")19        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)20 21        # Test that the debug symbols have Function f3 before Function f1.22        # Use "-s address" option to sort by address.23        self.runCmd("image dump symtab -s address %s" % exe)24        output = self.res.GetOutput()25        mo_f3 = re.search("Code +.+f3", output)26        mo_f1 = re.search("Code +.+f1", output)27 28        # Match objects for f3 and f1 must exist and f3 must come before f1.29        self.assertTrue(30            mo_f3 and mo_f1 and mo_f3.start() < mo_f1.start(),31            "Symbols have correct order by the order file",32        )33 34        self.runCmd("run", RUN_COMPLETED)35