41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
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"),
|
|
],
|
|
)
|