brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.0 KiB · d9f95ae Raw
57 lines · python
1import lldb2from lldbsuite.test.decorators import *3from lldbsuite.test.lldbtest import *4from lldbsuite.test import lldbutil5 6 7class TestBitfieldIvars(TestBase):8    def test(self):9        self.build()10        lldbutil.run_to_source_breakpoint(11            self, "// break here", lldb.SBFileSpec("main.m")12        )13 14        self.expect_expr(15            "chb->hb->field1", result_type="unsigned int", result_value="0"16        )17        ## This should happen second18        self.expect_expr(19            "chb->hb->field2", result_type="unsigned int", result_value="1"20        )21 22        self.expect_expr("hb2->field1", result_type="unsigned int", result_value="10")23        self.expect_expr("hb2->field2", result_type="unsigned int", result_value="3")24        self.expect_expr("hb2->field3", result_type="unsigned int", result_value="4")25 26        self.expect(27            "frame var *hb2",28            substrs=["x =", "100", "field1 =", "10", "field2 =", "3", "field3 =", "4"],29        )30 31        self.expect_expr(32            "myField",33            result_type="UCBitFields",34            result_children=[35                ValueCheck(name="fieldOne", value="'\\0'"),36                ValueCheck(name="fieldTwo", value="'\\x01'"),37                ValueCheck(name="fieldThree", value="'\\0'"),38                ValueCheck(name="fieldFour", value="'\\0'"),39                ValueCheck(name="fieldFive", value="'\\x01'"),40            ],41        )42 43    # This test is meant to be xfailed, but running the test triggers an ASan44    # issue, so it must be skipped for now.45    @skip46    def testExprWholeObject(self):47        self.build()48        lldbutil.run_to_source_breakpoint(49            self, "// break here", lldb.SBFileSpec("main.m")50        )51 52        ## FIXME expression with individual bit-fields obtains correct values but not with the whole object53        self.expect(54            "expr *hb2",55            substrs=["x =", "100", "field1 =", "10", "field2 =", "3", "field3 =", "4"],56        )57