xref: /llvm-project/lldb/test/API/lang/cpp/sizeof/TestCPPSizeof.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
167c588c4SRaphael Isemannimport lldb
267c588c4SRaphael Isemannfrom lldbsuite.test.decorators import *
367c588c4SRaphael Isemannfrom lldbsuite.test.lldbtest import *
467c588c4SRaphael Isemannfrom lldbsuite.test import lldbutil
567c588c4SRaphael Isemann
667c588c4SRaphael Isemann
7*2238dcc3SJonas Devlieghereclass TestCase(TestBase):
867c588c4SRaphael Isemann    def test(self):
967c588c4SRaphael Isemann        self.build()
1067c588c4SRaphael Isemann        self.createTestTarget()
1167c588c4SRaphael Isemann
1267c588c4SRaphael Isemann        # Empty structs/classes have size 1 in C++.
1367c588c4SRaphael Isemann        self.expect_expr("sizeof(Empty) == sizeof_empty", result_value="true")
14*2238dcc3SJonas Devlieghere        self.expect_expr(
15*2238dcc3SJonas Devlieghere            "sizeof(EmptyClass) == sizeof_empty_class", result_value="true"
16*2238dcc3SJonas Devlieghere        )
17*2238dcc3SJonas Devlieghere        self.expect_expr(
18*2238dcc3SJonas Devlieghere            "sizeof(EmptyClassAligned) == sizeof_empty_class_aligned",
19*2238dcc3SJonas Devlieghere            result_value="true",
20*2238dcc3SJonas Devlieghere        )
21*2238dcc3SJonas Devlieghere        self.expect_expr(
22*2238dcc3SJonas Devlieghere            "sizeof(ClassEmptyMember) == sizeof_class_empty_member", result_value="true"
23*2238dcc3SJonas Devlieghere        )
2467c588c4SRaphael Isemann        self.expect_expr("sizeof(SingleMember) == sizeof_single", result_value="true")
25*2238dcc3SJonas Devlieghere        self.expect_expr(
26*2238dcc3SJonas Devlieghere            "sizeof(SingleMemberClass) == sizeof_single_class", result_value="true"
27*2238dcc3SJonas Devlieghere        )
2867c588c4SRaphael Isemann        self.expect_expr("sizeof(PaddingMember) == sizeof_padding", result_value="true")
29*2238dcc3SJonas Devlieghere        self.expect_expr(
30*2238dcc3SJonas Devlieghere            "sizeof(PaddingMemberClass) == sizeof_padding_class", result_value="true"
31*2238dcc3SJonas Devlieghere        )
32