mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Ensure that the host library path is provided to tests.
Eliminate the "copy the plugin library" step for these tests, which was always a hack and doesn't scale when we add more shared libraries.
This commit is contained in:
@@ -48,9 +48,8 @@
|
||||
// RUN: %empty-directory(%t/DISTINCTIVE-PATH/usr/bin/)
|
||||
// RUN: %empty-directory(%t/DISTINCTIVE-PATH/usr/lib/)
|
||||
// RUN: %hardlink-or-copy(from: %swift_frontend_plain, to: %t/DISTINCTIVE-PATH/usr/bin/swiftc)
|
||||
// RUN: %copy-plugin-support-library(%t/DISTINCTIVE-PATH/usr/lib/)
|
||||
// RUN: ln -s "swiftc" %t/DISTINCTIVE-PATH/usr/bin/swift-update
|
||||
// RUN: %t/DISTINCTIVE-PATH/usr/bin/swiftc -driver-print-jobs -c -update-code -target x86_64-apple-macosx10.9 %s 2>&1 > %t.upd.txt
|
||||
// RUN: %host-library-env %t/DISTINCTIVE-PATH/usr/bin/swiftc -driver-print-jobs -c -update-code -target x86_64-apple-macosx10.9 %s 2>&1 > %t.upd.txt
|
||||
// RUN: %FileCheck -check-prefix UPDATE-CODE %s < %t.upd.txt
|
||||
// Clean up the test executable because hard links are expensive.
|
||||
// RUN: rm -rf %t/DISTINCTIVE-PATH/usr/bin/swiftc
|
||||
|
||||
@@ -8,33 +8,32 @@
|
||||
// RUN: %empty-directory(%t/bin)
|
||||
// RUN: %empty-directory(%t/lib)
|
||||
// RUN: %hardlink-or-copy(from: %swift_frontend_plain, to: %t/bin/swiftc)
|
||||
// RUN: %copy-plugin-support-library(%t/lib/)
|
||||
// RUN: %empty-directory(%t/lib/swift/clang/lib/darwin/)
|
||||
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-macosx10.9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-NO-RUNTIME %s
|
||||
|
||||
// RUN: touch %t/lib/swift/clang/lib/darwin/libclang_rt.osx.a %t/lib/swift/clang/lib/darwin/libclang_rt.ios.a %t/lib/swift/clang/lib/darwin/libclang_rt.iossim.a %t/lib/swift/clang/lib/darwin/libclang_rt.tvos.a %t/lib/swift/clang/lib/darwin/libclang_rt.tvossim.a %t/lib/swift/clang/lib/darwin/libclang_rt.watchos.a %t/lib/swift/clang/lib/darwin/libclang_rt.watchossim.a
|
||||
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-macosx10.9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-MACOS %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios13.1-macabi %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-MACCATALYST %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-macosx10.9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-MACOS %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios13.1-macabi %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-MACCATALYST %s
|
||||
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target i386-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target i386-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target armv7s-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOS %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target arm64-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target arm64-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOS %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target i386-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target i386-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target armv7s-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOS %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target arm64-apple-ios7-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target arm64-apple-ios7 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-IOS %s
|
||||
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-tvos9-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target x86_64-apple-tvos9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target arm64-apple-tvos9-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target arm64-apple-tvos9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOS %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-tvos9-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target x86_64-apple-tvos9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target arm64-apple-tvos9-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target arm64-apple-tvos9 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-TVOS %s
|
||||
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target i386-apple-watchos2-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target i386-apple-watchos2 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target armv7k-apple-watchos2 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOS %s
|
||||
// RUN: %t/bin/swiftc -driver-print-jobs -target arm64-apple-watchos2-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target i386-apple-watchos2-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target i386-apple-watchos2 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target armv7k-apple-watchos2 %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOS %s
|
||||
// RUN: %host-library-env %t/bin/swiftc -driver-print-jobs -target arm64-apple-watchos2-simulator %S/../Inputs/empty.swift | %FileCheck -check-prefix CHECK -check-prefix CHECK-WATCHOSSIM %s
|
||||
|
||||
// Clean up the test executable because hard links are expensive.
|
||||
// RUN: rm -f %t/bin/swiftc
|
||||
|
||||
@@ -7,20 +7,18 @@
|
||||
// RUN: %empty-directory(%t/usr/bin/)
|
||||
// RUN: %empty-directory(%t/usr/lib/)
|
||||
// RUN: %hardlink-or-copy(from: %swift_driver_plain, to: %t/usr/bin/swift)
|
||||
// RUN: %copy-plugin-support-library(%t/usr/lib/)
|
||||
|
||||
// RUN: %t/usr/bin/swift -repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %t/usr/bin/swift -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
|
||||
// RUN: touch %t/usr/bin/lldb
|
||||
// RUN: chmod +x %t/usr/bin/lldb
|
||||
// RUN: %t/usr/bin/swift -repl -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %t/usr/bin/swift -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -repl -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -### | %FileCheck -check-prefix=LLDB %s
|
||||
|
||||
// RUN: %empty-directory(%t/Toolchains/Test.xctoolchain/usr/bin)
|
||||
// RUN: %empty-directory(%t/Toolchains/Test.xctoolchain/usr/lib)
|
||||
// RUN: mv %t/usr/bin/swift %t/Toolchains/Test.xctoolchain/usr/bin/swift
|
||||
// RUN: %copy-plugin-support-library(%t/Toolchains/Test.xctoolchain/usr/lib/)
|
||||
// RUN: %t/Toolchains/Test.xctoolchain/usr/bin/swift -repl -### | %FileCheck -check-prefix=LLDB %s
|
||||
|
||||
// Clean up the test executable because hard links are expensive.
|
||||
|
||||
@@ -8,10 +8,9 @@
|
||||
// RUN: %empty-directory(%t)
|
||||
// RUN: mkdir -p %t/usr/bin
|
||||
// RUN: mkdir -p %t/usr/lib
|
||||
// RUN: %copy-plugin-support-library(%t/usr/lib/)
|
||||
// RUN: %hardlink-or-copy(from: %swift_frontend_plain, to: %t/usr/bin/swift)
|
||||
|
||||
// RUN: %t/usr/bin/swift -sdk "" -deprecated-integrated-repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -sdk "" -deprecated-integrated-repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
|
||||
// INTEGRATED: swift{{c?(\.exe)?"?}} -frontend -repl
|
||||
// INTEGRATED: -module-name REPL
|
||||
@@ -46,10 +45,10 @@
|
||||
// like the Xcode installation environment. We use hard links to make sure
|
||||
// the Swift driver really thinks it's been moved.
|
||||
|
||||
// RUN: %t/usr/bin/swift -sdk "" -repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %t/usr/bin/swift -sdk "" -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -sdk "" -repl -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -sdk "" -### | %FileCheck -check-prefix=INTEGRATED %s
|
||||
|
||||
// RUN: touch %t/usr/bin/lldb
|
||||
// RUN: chmod +x %t/usr/bin/lldb
|
||||
// RUN: %t/usr/bin/swift -sdk "" -repl -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %t/usr/bin/swift -sdk "" -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -sdk "" -repl -### | %FileCheck -check-prefix=LLDB %s
|
||||
// RUN: %host-library-env %t/usr/bin/swift -sdk "" -### | %FileCheck -check-prefix=LLDB %s
|
||||
|
||||
@@ -5,10 +5,9 @@
|
||||
// RUN: mkdir -p %t.dir/usr/bin
|
||||
// RUN: mkdir -p %t.dir/usr/lib
|
||||
// RUN: %hardlink-or-copy(from: %swift_frontend_plain, to: %t.dir/usr/bin/swift)
|
||||
// RUN: %copy-plugin-support-library(%t.dir/usr/lib/)
|
||||
|
||||
// RUN: %t.dir/usr/bin/swift -### 2>&1 | %FileCheck -check-prefix=CHECK-SWIFT-INVOKES-REPL %s
|
||||
// RUN: %t.dir/usr/bin/swift repl -### 2>&1 | %FileCheck -check-prefix=CHECK-SWIFT-INVOKES-REPL %s
|
||||
// RUN: %host-library-env %t.dir/usr/bin/swift -### 2>&1 | %FileCheck -check-prefix=CHECK-SWIFT-INVOKES-REPL %s
|
||||
// RUN: %host-library-env %t.dir/usr/bin/swift repl -### 2>&1 | %FileCheck -check-prefix=CHECK-SWIFT-INVOKES-REPL %s
|
||||
|
||||
// CHECK-SWIFT-INVOKES-REPL: {{.*}}/swift{{.*}} -repl
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
// RUN: %empty-directory(%t/DISTINCTIVE-WINDOWS-PATH/usr/bin)
|
||||
// RUN: %empty-directory(%t/DISTINCTIVE-WINDOWS-PATH/usr/lib)
|
||||
// RUN: %hardlink-or-copy(from: %swift_frontend_plain, to: %t/DISTINCTIVE-WINDOWS-PATH/usr/bin/swiftc)
|
||||
// RUN: %copy-plugin-support-library(%t/DISTINCTIVE-WINDOWS-PATH/usr/lib/)
|
||||
// RUN: env PATH= %t/DISTINCTIVE-WINDOWS-PATH/usr/bin/swiftc -target x86_64-unknown-windows-msvc -### -module-name link -emit-library %s 2>&1 | %FileCheck %s
|
||||
// RUN: %host-library-env PATH= %t/DISTINCTIVE-WINDOWS-PATH/usr/bin/swiftc -target x86_64-unknown-windows-msvc -### -module-name link -emit-library %s 2>&1 | %FileCheck %s
|
||||
|
||||
// swift-frontend cannot be copied to another location with bootstrapping because
|
||||
// it will not find the libswiftCore library with its relative RPATH.
|
||||
|
||||
23
test/lit.cfg
23
test/lit.cfg
@@ -2479,24 +2479,11 @@ config.substitutions.append(('%target-resilience-test', config.target_resilience
|
||||
config.substitutions.append(('%llvm-profdata', config.llvm_profdata))
|
||||
config.substitutions.append(('%llvm-cov', config.llvm_cov))
|
||||
|
||||
# Name of the compiler plugin support library.
|
||||
plugin_support_shared_lib_name = ("%sswift_CompilerPluginSupport%s" %
|
||||
(config.target_shared_library_prefix, config.target_shared_library_suffix))
|
||||
plugin_support_shared_lib = make_path(config.swift_host_lib_dir, plugin_support_shared_lib_name)
|
||||
config.substitutions.append(('%compiler_plugin_library',
|
||||
plugin_support_shared_lib))
|
||||
|
||||
if "swift_swift_parser" in config.available_features:
|
||||
config.substitutions.append(
|
||||
(r'%copy-plugin-support-library\(*(.*)\)',
|
||||
SubstituteCaptures(
|
||||
r'cp %s \1' %
|
||||
(escape_for_substitute_captures(plugin_support_shared_lib)))))
|
||||
else:
|
||||
config.substitutions.append(
|
||||
(r'%copy-plugin-support-library\(*(.*)\)',
|
||||
r'echo "No plugin support library to copy"'))
|
||||
|
||||
# Set up the host library environment.
|
||||
host_library_env = (
|
||||
"/usr/bin/env " +
|
||||
construct_library_path_env(config.swift_host_lib_dir))
|
||||
config.substitutions.append(('%host-library-env', host_library_env))
|
||||
|
||||
if hasattr(config, 'otool_classic'):
|
||||
config.substitutions.append(('%otool-classic', config.otool_classic))
|
||||
|
||||
Reference in New Issue
Block a user