63 lines
1.9 KiB
Python
63 lines
1.9 KiB
Python
"""
|
|
Tests that we correctly track AST layout info
|
|
(specifically alignment) when moving AST nodes
|
|
between ClangASTImporter instances (in this case,
|
|
from pch to executable to expression AST).
|
|
"""
|
|
|
|
import lldb
|
|
import os
|
|
from lldbsuite.test.decorators import *
|
|
from lldbsuite.test.lldbtest import *
|
|
from lldbsuite.test import lldbutil
|
|
|
|
|
|
class TestPchAlignment(TestBase):
|
|
SHARED_BUILD_TESTCASE = False
|
|
|
|
@add_test_categories(["gmodules"])
|
|
def test_expr(self):
|
|
self.build()
|
|
lldbutil.run_to_source_breakpoint(
|
|
self, "return data", lldb.SBFileSpec("main.cpp")
|
|
)
|
|
|
|
self.expect(
|
|
"frame variable data",
|
|
substrs=["row = 1", "col = 2", "row = 3", "col = 4", "stride = 5"],
|
|
)
|
|
|
|
@add_test_categories(["gmodules"])
|
|
def test_frame_var(self):
|
|
self.build()
|
|
lldbutil.run_to_source_breakpoint(
|
|
self, "return data", lldb.SBFileSpec("main.cpp")
|
|
)
|
|
|
|
self.expect_expr(
|
|
"data",
|
|
result_type="MatrixData",
|
|
result_children=[
|
|
ValueCheck(
|
|
name="section",
|
|
children=[
|
|
ValueCheck(
|
|
name="origin",
|
|
children=[
|
|
ValueCheck(name="row", value="1"),
|
|
ValueCheck(name="col", value="2"),
|
|
],
|
|
),
|
|
ValueCheck(
|
|
name="size",
|
|
children=[
|
|
ValueCheck(name="row", value="3"),
|
|
ValueCheck(name="col", value="4"),
|
|
],
|
|
),
|
|
],
|
|
),
|
|
ValueCheck(name="stride", value="5"),
|
|
],
|
|
)
|