llvm/llvm/test/tools/dsymutil/X86/basic-linking-bundle.test

RUN: rm -rf %t
RUN: mkdir -p %t/dsymdest
RUN: cp %p/../Inputs/basic.macho.x86_64 %t/basic.macho.x86_64

RUN: dsymutil -accelerator=Pub -oso-prepend-path=%p/.. %t/basic.macho.x86_64

Check that the object file in the bundle exists and is sane:
RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test

Check that we don't create an empty Remarks directory if there are no remarks.
RUN: not ls %t/basic.macho.x86_64.dSYM/Contents/Resources/Remarks

Check that llvm-dwarfdump -a recognizes the bundle as a dSYM:
RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test

RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist

RUN: dsymutil -oso-prepend-path=%p/.. %t/basic.macho.x86_64 -o %t/dsymdest/basic.macho.x86_64.dSYM
RUN: llvm-dwarfdump -a %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
RUN: FileCheck %s --input-file %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Info.plist

### --------------------------------------------
### Repeat the steps for --linker parallel

RUN: rm -rf %t
RUN: mkdir -p %t/dsymdest
RUN: cp %p/../Inputs/basic.macho.x86_64 %t/basic.macho.x86_64

RUN: dsymutil --linker parallel -accelerator=Pub -oso-prepend-path=%p/.. %t/basic.macho.x86_64

Check that the object file in the bundle exists and is sane:
RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test

Check that we don't create an empty Remarks directory if there are no remarks.
RUN: not ls %t/basic.macho.x86_64.dSYM/Contents/Resources/Remarks

Check that llvm-dwarfdump -a recognizes the bundle as a dSYM:
RUN: llvm-dwarfdump -a %t/basic.macho.x86_64.dSYM | FileCheck %S/basic-linking-x86.test

RUN: FileCheck %s --input-file %t/basic.macho.x86_64.dSYM/Contents/Info.plist

RUN: dsymutil --linker parallel -oso-prepend-path=%p/.. %t/basic.macho.x86_64 \
RUN:   -o %t/dsymdest/basic.macho.x86_64.dSYM
RUN: llvm-dwarfdump -a %t/dsymdest/basic.macho.x86_64.dSYM/Contents/Resources/DWARF/basic.macho.x86_64 | FileCheck %S/basic-linking-x86.test
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.basic.macho.x86_64</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>1.0</string>
CHECK-NEXT:                 <key>CFBundleVersion</key>
CHECK-NEXT:                 <string>1</string>
CHECK-NEXT:         </dict>
CHECK-NEXT: </plist>