xref: /llvm-project/lldb/test/API/lang/objc/foundation/TestObjCMethods2.py (revision 2238dcc39358353cac21df75c3c3286ab20b8f53)
199451b44SJordan Rupprecht"""
299451b44SJordan RupprechtTest more expression command sequences with objective-c.
399451b44SJordan Rupprecht"""
499451b44SJordan Rupprecht
599451b44SJordan Rupprecht
699451b44SJordan Rupprechtimport lldb
799451b44SJordan Rupprechtfrom lldbsuite.test.decorators import *
899451b44SJordan Rupprechtfrom lldbsuite.test.lldbtest import *
999451b44SJordan Rupprechtfrom lldbsuite.test import lldbutil
1099451b44SJordan Rupprecht
1199451b44SJordan Rupprecht
1299451b44SJordan Rupprechtclass FoundationTestCase2(TestBase):
1399451b44SJordan Rupprecht    NO_DEBUG_INFO_TESTCASE = True
1499451b44SJordan Rupprecht
1599451b44SJordan Rupprecht    def test_expr_commands(self):
1699451b44SJordan Rupprecht        """More expression commands for objective-c."""
1799451b44SJordan Rupprecht        self.build()
1899451b44SJordan Rupprecht        main_spec = lldb.SBFileSpec("main.m")
1999451b44SJordan Rupprecht
2099451b44SJordan Rupprecht        (target, process, thread, bp) = lldbutil.run_to_source_breakpoint(
21*2238dcc3SJonas Devlieghere            self, "Break here for selector: tests", main_spec
22*2238dcc3SJonas Devlieghere        )
2399451b44SJordan Rupprecht
2499451b44SJordan Rupprecht        # Test_Selector:
25*2238dcc3SJonas Devlieghere        self.expect(
26*2238dcc3SJonas Devlieghere            "expression (char *)sel_getName(sel)", substrs=["(char *)", "length"]
27*2238dcc3SJonas Devlieghere        )
2899451b44SJordan Rupprecht
29*2238dcc3SJonas Devlieghere        desc_bkpt = target.BreakpointCreateBySourceRegex(
30*2238dcc3SJonas Devlieghere            "Break here for description test", main_spec
31*2238dcc3SJonas Devlieghere        )
32*2238dcc3SJonas Devlieghere        self.assertEqual(
33*2238dcc3SJonas Devlieghere            desc_bkpt.GetNumLocations(), 1, "description breakpoint has a location"
34*2238dcc3SJonas Devlieghere        )
3599451b44SJordan Rupprecht        lldbutil.continue_to_breakpoint(process, desc_bkpt)
3699451b44SJordan Rupprecht
37*2238dcc3SJonas Devlieghere        self.expect(
38*2238dcc3SJonas Devlieghere            "expression (char *)sel_getName(_cmd)", substrs=["(char *)", "description"]
39*2238dcc3SJonas Devlieghere        )
40