""" 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): @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"), ], )