brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.1 KiB · 235a41d Raw
71 lines · python
1"""2Test _regexp-break command which uses regular expression matching to dispatch to other built in breakpoint commands.3"""4 5 6import os7import lldb8from lldbsuite.test.lldbtest import *9import lldbsuite.test.lldbutil as lldbutil10 11 12class RegexpBreakCommandTestCase(TestBase):13    def test(self):14        """Test _regexp-break command."""15        self.build()16        self.regexp_break_command()17 18    def setUp(self):19        # Call super's setUp().20        TestBase.setUp(self)21        # Find the line number to break inside main().22        self.source = "main.c"23        self.line = line_number(self.source, "// Set break point at this line.")24 25    def regexp_break_command(self):26        """Test the super consie "b" command, which is analias for _regexp-break."""27        exe = self.getBuildArtifact("a.out")28        self.runCmd("file " + exe, CURRENT_EXECUTABLE_SET)29 30        break_results = lldbutil.run_break_set_command(self, "b %d" % self.line)31        lldbutil.check_breakpoint_result(32            self,33            break_results,34            file_name="main.c",35            line_number=self.line,36            num_locations=1,37        )38 39        break_results = lldbutil.run_break_set_command(40            self, "b %s:%d" % (self.source, self.line)41        )42        lldbutil.check_breakpoint_result(43            self,44            break_results,45            file_name="main.c",46            line_number=self.line,47            num_locations=1,48        )49 50        # Check breakpoint with full file path.51        full_path = os.path.join(self.getSourceDir(), self.source)52        break_results = lldbutil.run_break_set_command(53            self, "b %s:%d" % (full_path, self.line)54        )55        lldbutil.check_breakpoint_result(56            self,57            break_results,58            file_name="main.c",59            line_number=self.line,60            num_locations=1,61        )62 63        self.runCmd("run", RUN_SUCCEEDED)64 65        # The stop reason of the thread should be breakpoint.66        self.expect(67            "thread list",68            STOPPED_DUE_TO_BREAKPOINT,69            substrs=["stopped", "stop reason = breakpoint"],70        )71