| import lldb |
| from lldbsuite.test.lldbtest import * |
| from lldbsuite.test.decorators import * |
| import lldbsuite.test.lldbutil as lldbutil |
| |
| class TestObjCXXBridgedPO(TestBase): |
| |
| @skipIfDarwinEmbedded |
| @skipIf(macos_version=[">=", "13.0"]) |
| def test_bridged_type_po(self): |
| self.build() |
| lldbutil.run_to_source_breakpoint( |
| self, 'break here', lldb.SBFileSpec('main.mm')) |
| self.expect('po num', |
| "did not get the Objective-C object description", |
| substrs=['CFNumber', '0x', '42']) |
| pointer_val = str(self.frame().FindVariable('num').GetValue()) |
| self.expect('po '+pointer_val, |
| "did not get the Objective-C object description", |
| substrs=['CFNumber', '0x', '42']) |
| |
| @skipIfDarwinEmbedded |
| @skipIf(macos_version=["<", "13.0"]) |
| def test_bridged_type_po(self): |
| """Starting on macOS 13 CoreFoundation links against Foundation, |
| so we always get the Foundation object description. |
| """ |
| self.build() |
| lldbutil.run_to_source_breakpoint( |
| self, 'break here', lldb.SBFileSpec('main.mm')) |
| self.expect('po num', |
| "did not get the Objective-C object description", |
| substrs=['42']) |
| pointer_val = str(self.frame().FindVariable('num').GetValue()) |
| self.expect('po '+pointer_val, |
| "did not get the Objective-C object description", |
| substrs=['42']) |