summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorJonas Devlieghere <jonas@devlieghere.com>2017-11-30 10:25:28 +0000
committerJonas Devlieghere <jonas@devlieghere.com>2017-11-30 10:25:28 +0000
commitc635376d7c5a0a7b2877656ee2fee8233b995359 (patch)
tree7e1c0ae7cff4854a3db7ae38d36a6e2d97ed8f14 /llvm/test
parent27b6603f90cd56fbc110e8f14c642aa4dab052d7 (diff)
downloadbcm5719-llvm-c635376d7c5a0a7b2877656ee2fee8233b995359.tar.gz
bcm5719-llvm-c635376d7c5a0a7b2877656ee2fee8233b995359.zip
[dsymutil] Upstream getBundleInfo implementation
This patch implements `getBundleInfo`, which uses CoreFoundation to obtain information about the CFBundle. This information is needed to populate the Plist in the dSYM bundle. This change only applies to darwin and is an NFC as far as other platforms are concerned. Differential revision: https://reviews.llvm.org/D40244 llvm-svn: 319416
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/tools/dsymutil/Inputs/Info.plist20
-rw-r--r--llvm/test/tools/dsymutil/X86/darwin-bundle.test30
2 files changed, 50 insertions, 0 deletions
diff --git a/llvm/test/tools/dsymutil/Inputs/Info.plist b/llvm/test/tools/dsymutil/Inputs/Info.plist
new file mode 100644
index 00000000000..97c0ae261f3
--- /dev/null
+++ b/llvm/test/tools/dsymutil/Inputs/Info.plist
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleIdentifier</key>
+ <string>custom</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundlePackageType</key>
+ <string>dSYM</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleShortVersionString</key>
+ <string>2.0</string>
+ <key>CFBundleVersion</key>
+ <string>2</string>
+ </dict>
+</plist>
diff --git a/llvm/test/tools/dsymutil/X86/darwin-bundle.test b/llvm/test/tools/dsymutil/X86/darwin-bundle.test
new file mode 100644
index 00000000000..b49cdeab858
--- /dev/null
+++ b/llvm/test/tools/dsymutil/X86/darwin-bundle.test
@@ -0,0 +1,30 @@
+REQUIRES: system-darwin
+
+RUN: rm -rf %t
+RUN: mkdir -p %t/dsymdest
+RUN: cat %p/../Inputs/basic.macho.x86_64 > %t/basic.macho.x86_64
+RUN: cat %p/../Inputs/Info.plist > %t/Info.plist
+
+RUN: llvm-dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
+RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist
+
+CHECK: <?xml version="1.0" encoding="UTF-8"?>
+CHECK-NEXT: <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+CHECK-NEXT: <plist version="1.0">
+CHECK-NEXT: <dict>
+CHECK-NEXT: <key>CFBundleDevelopmentRegion</key>
+CHECK-NEXT: <string>English</string>
+CHECK-NEXT: <key>CFBundleIdentifier</key>
+CHECK-NEXT: <string>com.apple.xcode.dsym.custom</string>
+CHECK-NEXT: <key>CFBundleInfoDictionaryVersion</key>
+CHECK-NEXT: <string>6.0</string>
+CHECK-NEXT: <key>CFBundlePackageType</key>
+CHECK-NEXT: <string>dSYM</string>
+CHECK-NEXT: <key>CFBundleSignature</key>
+CHECK-NEXT: <string>????</string>
+CHECK-NEXT: <key>CFBundleShortVersionString</key>
+CHECK-NEXT: <string>2.0</string>
+CHECK-NEXT: <key>CFBundleVersion</key>
+CHECK-NEXT: <string>2</string>
+CHECK-NEXT: </dict>
+CHECK-NEXT: </plist>
OpenPOWER on IntegriCloud