46 lines
1.5 KiB
Python
46 lines
1.5 KiB
Python
|
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"],
|
||
|
)
|