from lldbsuite.test.lldbinline import CommandParser from lldbsuite.test.lldbtest import Base import textwrap class TestCommandParser(Base): 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")])