| from lldbsuite.test.lldbinline import CommandParser |
| from lldbsuite.test.lldbtest import Base |
| import textwrap |
| |
| |
| class TestCommandParser(Base): |
| |
| mydir = Base.compute_mydir(__file__) |
| |
| def test_indentation(self): |
| """Test indentation handling""" |
| filename = self.getBuildArtifact("test_file.cpp") |
| with open(filename, "w") as f: |
| f.write(textwrap.dedent("""\ |
| int q; |
| int w; //% first break |
| int e; |
| int r; //% second break |
| //% continue second |
| //% continuing indented |
| //% not indented |
| int t; //% third break |
| """)) |
| p = CommandParser() |
| p.parse_source_files([filename]) |
| |
| def bkpt(line, cmd): |
| return {'file_name': filename, 'line_number': line, 'command': cmd} |
| self.assertEqual( |
| p.breakpoints, [ |
| bkpt(2, 'first break'), |
| bkpt(4, 'second break\ncontinue second\n continuing indented\nnot indented'), |
| bkpt(8, "third break")]) |