46 lines · python
1import lldb2from lldbsuite.test.lldbtest import *3from lldbsuite.test.decorators import *4import lldbsuite.test.lldbutil as lldbutil5 6 7class TestObjCXXBridgedPO(TestBase):8 @skipIfDarwinEmbedded9 @skipIf(macos_version=[">=", "13.0"])10 def test_bridged_type_po_old(self):11 self.build()12 lldbutil.run_to_source_breakpoint(13 self, "break here", lldb.SBFileSpec("main.mm")14 )15 self.expect(16 "po num",17 "did not get the Objective-C object description",18 substrs=["CFNumber", "0x", "42"],19 )20 pointer_val = str(self.frame().FindVariable("num").GetValue())21 self.expect(22 "po " + pointer_val,23 "did not get the Objective-C object description",24 substrs=["CFNumber", "0x", "42"],25 )26 27 @skipIfDarwinEmbedded28 @skipIf(macos_version=["<", "13.0"])29 def test_bridged_type_po(self):30 """Starting on macOS 13 CoreFoundation links against Foundation,31 so we always get the Foundation object description.32 """33 self.build()34 lldbutil.run_to_source_breakpoint(35 self, "break here", lldb.SBFileSpec("main.mm")36 )37 self.expect(38 "po num", "did not get the Objective-C object description", substrs=["42"]39 )40 pointer_val = str(self.frame().FindVariable("num").GetValue())41 self.expect(42 "po " + pointer_val,43 "did not get the Objective-C object description",44 substrs=["42"],45 )46