61 lines · python
1import lldb2from lldbsuite.test.decorators import *3from lldbsuite.test.lldbtest import *4from lldbsuite.test import lldbutil5 6 7class TestCase(TestBase):8 NO_DEBUG_INFO_TESTCASE = True9 10 def run_class_tests(self):11 # Expression not referencing context class.12 self.expect_expr("1 + 1", result_type="int", result_value="2")13 # Referencing context class.14 # FIXME: This and the expression below should return const types.15 self.expect_expr("member", result_type="int", result_value="3")16 # Check the type of context class.17 self.expect_expr("this", result_type="ContextClass *")18 19 def test_member_func(self):20 self.build()21 lldbutil.run_to_source_breakpoint(22 self, "// break in function in class.", lldb.SBFileSpec("main.cpp")23 )24 self.run_class_tests()25 26 def test_templated_member_func(self):27 self.build()28 lldbutil.run_to_source_breakpoint(29 self,30 "// break in templated function in class.",31 lldb.SBFileSpec("main.cpp"),32 )33 self.run_class_tests()34 35 def run_template_class_tests(self):36 # Expression not referencing context class.37 self.expect_expr("1 + 1", result_type="int", result_value="2")38 # Referencing context class.39 # FIXME: This and the expression below should return const types.40 self.expect_expr("member", result_type="int", result_value="4")41 # Check the type of context class.42 self.expect_expr("this", result_type="TemplatedContextClass<int> *")43 44 def test_template_member_func(self):45 self.build()46 lldbutil.run_to_source_breakpoint(47 self,48 "// break in function in templated class.",49 lldb.SBFileSpec("main.cpp"),50 )51 self.run_template_class_tests()52 53 def test_template_templated_member_func(self):54 self.build()55 lldbutil.run_to_source_breakpoint(56 self,57 "// break in templated function in templated class.",58 lldb.SBFileSpec("main.cpp"),59 )60 self.run_template_class_tests()61