Files
clang-p2996/lld/test/MachO/syslibroot.test
Vincent Lee ef764ee207 [lld-macho][nfc] Centralize usages of ld64.lld in tests
We have a mix of substituted lld (`%lld`) and hard-coded lld (`ld64.lld`) commands.
When testing with different versions of LLD, this would require going into every place
where lld is hard-coded and changing that. If we centralize it, this'll only  require us
to modify it in only one place and will make it easy to run the same test suite. Plus,
this will make it be consistent with how we write other tests.

Reviewed By: #lld-macho, int3, oontvoo

Differential Revision: https://reviews.llvm.org/D119394
2022-02-10 17:27:07 -08:00

79 lines
3.5 KiB
Plaintext

# Ensure that a nonexistent path is ignored with a syslibroot
# Don't use %lld to not pick up the default syslibroot flag.
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot /var/empty 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-NONEXISTENT-SYSLIBROOT
CHECK-NONEXISTENT-SYSLIBROOT: Library search paths:
CHECK-NONEXISTENT-SYSLIBROOT-NEXT: Framework search paths:
RUN: mkdir -p %t/usr/lib
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT -DROOT=%t
CHECK-SYSLIBROOT-NOT: directory not found{{.*}}usr/local/lib
CHECK-SYSLIBROOT: Library search paths:
CHECK-SYSLIBROOT-NEXT: [[ROOT]]/usr/lib
RUN: mkdir -p %t/Library/libxml2-development
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -L /Library/libxml2-development 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-ABSOLUTE-PATH-REROOTED -DROOT=%t
CHECK-ABSOLUTE-PATH-REROOTED: Library search paths:
CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/Library/libxml2-development
CHECK-ABSOLUTE-PATH-REROOTED: [[ROOT]]/usr/lib
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -L %t/Library/libxml2-development 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-PATH-WITHOUT-REROOT -DPATH=%t/Library/libxml2-development
CHECK-PATH-WITHOUT-REROOT: Library search paths:
CHECK-PATH-WITHOUT-REROOT-NEXT: [[PATH]]
RUN: mkdir -p %t.2/usr/lib
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -syslibroot %t.2 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT-MATRIX -DROOT=%t
CHECK-SYSLIBROOT-MATRIX: Library search paths:
CHECK-SYSLIBROOT-MATRIX: [[ROOT]]/usr/lib
CHECK-SYSLIBROOT-MATRIX: [[ROOT]].2/usr/lib
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -syslibroot %t.2 -syslibroot / 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT-IGNORED -DROOT=%t
CHECK-SYSLIBROOT-IGNORED: Library search paths:
CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]]/usr/lib
CHECK-SYSLIBROOT-IGNORED-NOT: [[ROOT]].2/usr/lib
RUN: mkdir -p %t/System/Library/Frameworks
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK -DROOT=%t
CHECK-SYSLIBROOT-FRAMEWORK: Framework search paths:
CHECK-SYSLIBROOT-FRAMEWORK: [[ROOT]]/System/Library/Frameworks
RUN: mkdir -p %t/Library/Frameworks
RUN: mkdir -p %t.2/Library/Frameworks
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -syslibroot %t.2 \
RUN: -F /Library/Frameworks 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-MATRIX -DROOT=%t
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: Framework search paths:
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]]/Library/Frameworks
CHECK-SYSLIBROOT-FRAMEWORK-MATRIX: [[ROOT]].2/Library/Frameworks
RUN: %no-arg-lld -arch x86_64 -platform_version macos 10 11 -v -dylib \
RUN: -o /dev/null -syslibroot %t -syslibroot %t.2 -syslibroot / \
RUN: -F /Library/Frameworks 2>&1 \
RUN: | FileCheck %s -check-prefix CHECK-SYSLIBROOT-FRAMEWORK-IGNORED -DROOT=%t
CHECK-SYSLIBROOT-FRAMEWORK-IGNORED: Framework search paths:
CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]]/Library/Frameworks
CHECK-SYSLIBROOT-FRAMEWORK-IGNORED-NOT: [[ROOT]].2/Library/Frameworks