bolt/deps/llvm-18.1.8/lldb/test/API/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py

46 lines
1.5 KiB
Python
Raw Normal View History

2025-02-14 19:21:04 +01:00
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"],
)