import lldb from lldbsuite.test.decorators import * from lldbsuite.test.lldbtest import * from lldbsuite.test import lldbutil class TestCase(TestBase): def test(self): self.build() lldbutil.run_to_source_breakpoint( self, "// break here", lldb.SBFileSpec("main.cpp") ) # Test non-type template parameter packs. self.expect_expr( "myC", result_type="C", result_children=[ ValueCheck( name="C", children=[ValueCheck(name="member", value="64")] ) ], ) self.expect_expr("myLesserC.argsAre_16_32()", result_value="false") self.expect_expr("myC.argsAre_16_32()", result_value="true") # Test type template parameter packs. self.expect_expr( "myD", result_type="D", result_children=[ ValueCheck( name="D", children=[ValueCheck(name="member", value="64")] ) ], ) self.expect_expr("myLesserD.argsAre_Int_bool()", result_value="false") self.expect_expr("myD.argsAre_Int_bool()", result_value="true") # Disabling until we do template lookup correctly: http://lists.llvm.org/pipermail/lldb-commits/Week-of-Mon-20180507/040689.html # FIXME: Rewrite this with expect_expr # self.expect("expression -- C().isSixteenThirtyTwo()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["false"]) # self.expect("expression -- C().isSixteenThirtyTwo()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["true"]) # self.expect("expression -- D().isIntBool()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["false"]) # self.expect("expression -- D().isIntBool()", DATA_TYPES_DISPLAYED_CORRECTLY, substrs = ["true"])