Skip to content

Commit 99453fc

Browse files
committed
test: introduce a new %swift-plugin-dir macro
Use this to define the macro location rather than the "host" dir (which is actually for the build and not the host). Furthermore, on Windows, the build dir is /usr/lib/swift as the host content is in the SDK. This prepares the tests for Windows.
1 parent 6c4ae5d commit 99453fc

9 files changed

+36
-21
lines changed

test/IDE/complete_optionset.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
1-
// REQUIRES: swift_swift_parser
21
// RUN: %empty-directory(%t)
3-
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t -plugin-path %swift-host-lib-dir/plugins
2+
// RUN: %target-swift-ide-test -batch-code-completion -source-filename %s -filecheck %raw-FileCheck -completion-output-dir %t -plugin-path %swift-plugin-dir
3+
4+
// REQUIRES: swift_swift_parser
45

56
@OptionSet<UInt8>
67
struct ShippingOptions {

test/Macros/macro_expand_other.swift

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,13 @@
44
// RUN: %host-build-swift -swift-version 5 -emit-library -o %t/%target-library-name(MacroDefinition) -parse-as-library -module-name=MacroDefinition %S/Inputs/syntax_macro_definitions.swift
55

66
// Diagnostics testing
7-
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -module-name MacroUser -DTEST_DIAGNOSTICS
7+
// RUN: %target-typecheck-verify-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -module-name MacroUser -DTEST_DIAGNOSTICS
88

99
// Execution testing
10-
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) -I %swift-host-lib-dir -L %swift-host-lib-dir %s -o %t/main -module-name MacroUser
10+
// RUN: %target-build-swift -swift-version 5 -load-plugin-library %t/%target-library-name(MacroDefinition) %s -o %t/main -module-name MacroUser
1111
// RUN: %target-codesign %t/main
1212
// RUN: %target-run %t/main | %FileCheck %s
13+
1314
// REQUIRES: swift_swift_parser, executable_test
1415

1516
@freestanding(expression) macro stringify<T>(_ value: T) -> (T, String) = #externalMacro(module: "MacroDefinition", type: "StringifyMacro")

test/Macros/option_set.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// REQUIRES: swift_swift_parser, executable_test
22

3-
// RUN: %target-run-simple-swift(-Xfrontend -plugin-path -Xfrontend %swift-host-lib-dir/plugins -emit-tbd -emit-tbd-path %t.tbd)
3+
// RUN: %target-run-simple-swift(-Xfrontend -plugin-path -Xfrontend %swift-plugin-dir -emit-tbd -emit-tbd-path %t.tbd)
44

55
import Swift
66

test/ModuleInterface/Observable.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %target-swift-emit-module-interface(%t/Library.swiftinterface) %s -module-name Library -plugin-path %swift-host-lib-dir/plugins -disable-availability-checking
2+
// RUN: %target-swift-emit-module-interface(%t/Library.swiftinterface) %s -module-name Library -plugin-path %swift-plugin-dir -disable-availability-checking
33
// RUN: %target-swift-typecheck-module-from-interface(%t/Library.swiftinterface) -module-name Library -disable-availability-checking
44
// RUN: %FileCheck %s < %t/Library.swiftinterface
55

test/lit.cfg

Lines changed: 22 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,14 @@ shutil.rmtree(completion_cache_path, ignore_errors=True)
531531
ccp_opt = "-completion-cache-path %r" % completion_cache_path
532532
lit_config.note("Using code completion cache: " + completion_cache_path)
533533

534-
config.swift_host_lib_dir = make_path(config.swift_lib_dir, 'swift', 'host')
534+
if kIsWindows:
535+
config.swift_plugin_dir = config.swift_bin_dir
536+
# FIXME: this is a workaround for the collsion between the build toolchain
537+
# and the current build, this should be `make_path(config.swift_lib_dir, 'swift')`
538+
config.swift_build_lib_dir = make_path(config.swift_lib_dir, 'swift', 'host')
539+
else:
540+
config.swift_plugin_dir = make_path(config.swift_lib_dir, 'swift', 'host', 'plugins')
541+
config.swift_build_lib_dir = make_path(config.swift_lib_dir, 'swift', 'host')
535542

536543
if platform.system() == 'Darwin':
537544
config.swift_driver = (
@@ -541,8 +548,14 @@ if platform.system() == 'Darwin':
541548
"env SDKROOT=%s %r -toolchain-stdlib-rpath -Xlinker -rpath -Xlinker /usr/lib/swift %s %s %s"
542549
% (shell_quote(config.host_sdkroot), config.swiftc, mcp_opt, config.swift_test_options, config.swift_driver_test_options))
543550
config.host_build_swift = (
544-
"%s -sdk %s -target %s -no-toolchain-stdlib-rpath -I %s -L %s"
545-
% (config.swiftc_driver, config.host_sdkroot, config.host_triple, config.swift_host_lib_dir, config.swift_host_lib_dir))
551+
"%s -sdk %s -target %s -no-toolchain-stdlib-rpath -I %s -L %s" % (
552+
config.swiftc_driver,
553+
config.host_sdkroot,
554+
config.host_triple,
555+
config.swift_build_lib_dir,
556+
config.swift_build_lib_dir
557+
)
558+
)
546559
else:
547560
config.swift_driver = (
548561
"%r %s %s %s"
@@ -555,7 +568,7 @@ else:
555568
'' if kIsWindows else '-toolchain-stdlib-rpath',
556569
mcp_opt,
557570
config.swift_test_options,
558-
config.swift_driver_test_options
571+
config.swift_driver_test_options,
559572
)
560573
)
561574
# Parse the host triple.
@@ -566,8 +579,8 @@ else:
566579
config.swiftc_driver,
567580
config.host_triple,
568581
'' if kIsWindows else '-no-toolchain-stdlib-rpath',
569-
config.swift_host_lib_dir,
570-
config.swift_host_lib_dir,
582+
config.swift_build_lib_dir,
583+
config.swift_build_lib_dir,
571584
'' if kIsWindows else '-Xlinker -rpath -Xlinker {}'.format(toolchain_lib_dir)
572585
)
573586
)
@@ -576,7 +589,7 @@ config.substitutions.append( ('%llvm_obj_root', config.llvm_obj_root) )
576589
config.substitutions.append( ('%swift-bin-dir', config.swift_bin_dir) )
577590
config.substitutions.append( ('%swift-lib-dir', config.swift_lib_dir) )
578591
config.substitutions.append( ('%swift-share-dir', config.swift_share_dir) )
579-
config.substitutions.append( ('%swift-host-lib-dir', config.swift_host_lib_dir))
592+
config.substitutions.append( ('%swift-plugin-dir', config.swift_plugin_dir) )
580593
config.substitutions.append( ('%llvm_src_root', config.llvm_src_root) )
581594
config.substitutions.append( ('%swift_obj_root', config.swift_obj_root) )
582595
config.substitutions.append( ('%swift_src_root', config.swift_src_root) )
@@ -2662,9 +2675,9 @@ config.substitutions.append(('%hmaptool', os.path.join(config.llvm_src_root, '..
26622675
if hasattr(config, 'target_library_path_var'):
26632676
host_library_env = (
26642677
"/usr/bin/env " +
2665-
construct_library_path_env([config.swift_host_lib_dir]))
2678+
construct_library_path_env([make_path(config.swift_lib_dir, 'swift', 'host')]))
26662679
else:
2667-
host_library_env = "env"
2680+
host_library_env = ""
26682681

26692682
config.substitutions.append(('%host-library-env', host_library_env))
26702683

test/stdlib/Observation/Observable.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
// REQUIRES: swift_swift_parser, executable_test
22

3-
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -plugin-path -Xfrontend %swift-host-lib-dir/plugins)
3+
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -plugin-path -Xfrontend %swift-plugin-dir)
44

55
// Run this test via the swift-plugin-server
6-
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -external-plugin-path -Xfrontend %swift-host-lib-dir/plugins#%swift-plugin-server)
6+
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -external-plugin-path -Xfrontend %swift-plugin-dir#%swift-plugin-server)
77

88
// REQUIRES: observation
99
// REQUIRES: concurrency

test/stdlib/Observation/ObservableAvailabilityCycle.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
// REQUIRES: swift_swift_parser
22

3-
// RUN: %target-swift-frontend -typecheck -parse-as-library -external-plugin-path %swift-host-lib-dir/plugins#%swift-plugin-server -primary-file %s %S/Inputs/ObservableClass.swift
3+
// RUN: %target-swift-frontend -typecheck -parse-as-library -external-plugin-path %swift-plugin-dir#%swift-plugin-server -primary-file %s %S/Inputs/ObservableClass.swift
44

5-
// RUN: %target-swift-frontend -typecheck -parse-as-library -external-plugin-path %swift-host-lib-dir/plugins#%swift-plugin-server %s -primary-file %S/Inputs/ObservableClass.swift
5+
// RUN: %target-swift-frontend -typecheck -parse-as-library -external-plugin-path %swift-plugin-dir#%swift-plugin-server %s -primary-file %S/Inputs/ObservableClass.swift
66

77
// REQUIRES: observation
88
// REQUIRES: concurrency

test/stdlib/Observation/ObservableDiagnostics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// REQUIRES: swift_swift_parser
22

3-
// RUN: %target-typecheck-verify-swift -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -plugin-path %swift-host-lib-dir/plugins
3+
// RUN: %target-typecheck-verify-swift -disable-availability-checking -parse-as-library -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -plugin-path %swift-plugin-dir
44

55
// REQUIRES: observation
66
// REQUIRES: concurrency

test/stdlib/Observation/ObservableDidSetWillSet.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// REQUIRES: swift_swift_parser, executable_test
22

3-
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -plugin-path -Xfrontend %swift-host-lib-dir/plugins) | %FileCheck %s
3+
// RUN: %target-run-simple-swift( -Xfrontend -disable-availability-checking -enable-experimental-feature Macros -enable-experimental-feature ExtensionMacros -Xfrontend -plugin-path -Xfrontend %swift-plugin-dir) | %FileCheck %s
44

55
// REQUIRES: observation
66
// REQUIRES: concurrency

0 commit comments

Comments
 (0)