Skip to content

Commit 810a7bc

Browse files
authored
[test] Use -build-module-from-parseable-interface to test overlays (#21687)
Previously we used a manual -emit-module command with a hardcoded set of arguments, but that didn't work properly for all overlays. This is much better.
1 parent 4afb414 commit 810a7bc

File tree

3 files changed

+2
-41
lines changed

3 files changed

+2
-41
lines changed

validation-test/ParseableInterface/verify_all_overlays.swift

Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,25 +2,14 @@
22
// generated.
33

44
// RUN: %empty-directory(%t)
5-
// RUN: for x in %platform-sdk-overlay-dir/*.swiftinterface; do [[ $(basename "$x") = Swift.swiftinterface || $(basename "$x") = simd.swiftinterface || $(basename "$x") = SwiftLang.swiftinterface || $(basename "$x") = '*.swiftinterface' ]] && continue; %target-swift-frontend "$x" -emit-module -o %t/$(basename "$x" .swiftinterface).swiftmodule -disable-objc-attr-requires-foundation-module -enable-resilience -Fsystem %sdk/System/Library/PrivateFrameworks/ -swift-version 4 || echo '%target-os:' $(basename "$x") >> %t/failures.txt; done
5+
// RUN: for x in %platform-sdk-overlay-dir/*.swiftinterface; do [[ $(basename "$x") = Swift.swiftinterface || $(basename "$x") = simd.swiftinterface || $(basename "$x") = SwiftLang.swiftinterface || $(basename "$x") = '*.swiftinterface' ]] && continue; %target-swift-frontend "$x" -build-module-from-parseable-interface -o %t/$(basename "$x" .swiftinterface).swiftmodule -Fsystem %sdk/System/Library/PrivateFrameworks/ || echo '%target-os:' $(basename "$x") >> %t/failures.txt; done
66
// RUN: test ! -e %t/failures.txt || diff <(grep '%target-os:' %s) <(sort -f %t/failures.txt)
77

88
// REQUIRES: nonexecutable_test
99

1010
// The following parseable interfaces (in alphabetical order) are known not to
1111
// work with these settings.
1212

13-
// Needs to be built as Swift 4.2.
14-
macosx: CloudKit.swiftinterface
15-
ios: CloudKit.swiftinterface
16-
tvos: CloudKit.swiftinterface
17-
watchos: CloudKit.swiftinterface
18-
19-
// Needs to be built as Swift 4.2.
20-
ios: UIKit.swiftinterface
21-
tvos: UIKit.swiftinterface
22-
watchos: UIKit.swiftinterface
23-
2413
// Missing search path for XCTest.framework.
2514
macosx: XCTest.swiftinterface
2615
ios: XCTest.swiftinterface

validation-test/ParseableInterface/verify_all_overlays_O.swift

Lines changed: 0 additions & 27 deletions
This file was deleted.

validation-test/ParseableInterface/verify_simd.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@
22
// generated.
33

44
// RUN: %empty-directory(%t)
5-
// RUN: test ! -e %platform-sdk-overlay-dir/simd.swiftinterface || %target-swift-frontend %platform-sdk-overlay-dir/simd.swiftinterface -emit-module -o %t/simd.swiftmodule -enable-resilience -parse-stdlib -import-module Swift -swift-version 4
6-
// RUN: test ! -e %platform-sdk-overlay-dir/simd.swiftinterface || %target-swift-frontend %platform-sdk-overlay-dir/simd.swiftinterface -emit-module -o %t/simd.swiftmodule -enable-resilience -parse-stdlib -import-module Swift -swift-version 4 -O
5+
// RUN: test ! -e %platform-sdk-overlay-dir/simd.swiftinterface || %target-swift-frontend -build-module-from-parseable-interface %platform-sdk-overlay-dir/simd.swiftinterface -o %t/simd.swiftmodule
76

87
// REQUIRES: nonexecutable_test
98
// REQUIRES: objc_interop

0 commit comments

Comments
 (0)