summaryrefslogtreecommitdiffstats
path: root/lldb/packages/Python/lldbsuite/test
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/Makefile6
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py24
-rw-r--r--lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/main.mm12
3 files changed, 42 insertions, 0 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/Makefile b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/Makefile
new file mode 100644
index 00000000000..c258c4de49e
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/Makefile
@@ -0,0 +1,6 @@
+LEVEL = ../../../make
+
+OBJCXX_SOURCES := main.mm
+LDFLAGS = $(CFLAGS) -lobjc -framework CoreFoundation
+
+include $(LEVEL)/Makefile.rules
diff --git a/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py
new file mode 100644
index 00000000000..ecaf1e1ecf5
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/TestObjCXXBridgedPO.py
@@ -0,0 +1,24 @@
+import lldb
+from lldbsuite.test.lldbtest import *
+from lldbsuite.test.decorators import *
+import lldbsuite.test.lldbutil as lldbutil
+
+class TestObjCXXBridgedPO(TestBase):
+
+ mydir = TestBase.compute_mydir(__file__)
+
+ def setUp(self):
+ TestBase.setUp(self)
+
+ @skipUnlessDarwin
+ 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'])
diff --git a/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/main.mm b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/main.mm
new file mode 100644
index 00000000000..e376456033f
--- /dev/null
+++ b/lldb/packages/Python/lldbsuite/test/lang/objcxx/cxx-bridged-po/main.mm
@@ -0,0 +1,12 @@
+#include <CoreFoundation/CoreFoundation.h>
+
+void stop() {}
+
+int main(int argc, char **argv)
+{
+ int value = 42;
+ CFNumberRef num;
+ num = CFNumberCreate(kCFAllocatorDefault, kCFNumberIntType, &value);
+ stop(); // break here
+ return 0;
+}
OpenPOWER on IntegriCloud