Skip to content

Commit 1fde577

Browse files
committed
Frontend: Test that we still use the adjacent swiftmodule for the stdlib
1 parent 52758d7 commit 1fde577

File tree

1 file changed

+38
-7
lines changed

1 file changed

+38
-7
lines changed

test/ModuleInterface/ignore-adjacent-swiftmodules.swift

+38-7
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,46 @@
11
// RUN: %empty-directory(%t)
2-
// RUN: %empty-directory(%t/cache)
2+
// RUN: %empty-directory(%t/cache0)
3+
// RUN: %empty-directory(%t/cache1)
4+
// RUN: cp -r %S/../Sema/Inputs/public-private-sdk %t/sdk
35
// REQUIRES: VENDOR=apple
46

57
/// Prepare the SDK.
8+
//// stdlib
9+
// RUN: %target-swift-frontend -emit-module -module-name Swift -enable-library-evolution -swift-version 5 \
10+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -Osize \
11+
// RUN: %t/sdk/usr/lib/swift/Swift.swiftmodule/source.swift \
12+
// RUN: -o %t/sdk/usr/lib/swift/Swift.swiftmodule/%target-swiftmodule-name \
13+
// RUN: -emit-module-interface-path %t/sdk/usr/lib/swift/Swift.swiftmodule/%target-swiftinterface-name \
14+
// RUN: -parse-stdlib
15+
// RUN: %target-swift-typecheck-module-from-interface(%t/sdk/usr/lib/swift/Swift.swiftmodule/%target-swiftinterface-name) -module-name Swift -parse-stdlib
16+
617
//// Public framework
7-
// RUN: cp -r %S/../Sema/Inputs/public-private-sdk %t/sdk
818
// RUN: %target-swift-frontend -emit-module -module-name PublicSwift -enable-library-evolution -swift-version 5 \
19+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -Osize -sdk %t/sdk \
920
// RUN: %t/sdk/System/Library/Frameworks/PublicSwift.framework/Modules/PublicSwift.swiftmodule/source.swift \
1021
// RUN: -o %t/sdk/System/Library/Frameworks/PublicSwift.framework/Modules/PublicSwift.swiftmodule/%target-swiftmodule-name \
1122
// RUN: -emit-module-interface-path %t/sdk/System/Library/Frameworks/PublicSwift.framework/Modules/PublicSwift.swiftmodule/%target-swiftinterface-name
1223
// RUN: %target-swift-typecheck-module-from-interface(%t/sdk/System/Library/Frameworks/PublicSwift.framework/Modules/PublicSwift.swiftmodule/%target-swiftinterface-name) -module-name PublicSwift
1324

1425
//// Private framework
1526
// RUN: %target-swift-frontend -emit-module -module-name PrivateSwift -enable-library-evolution -swift-version 5 \
27+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -Osize -sdk %t/sdk \
1628
// RUN: %t/sdk/System/Library/PrivateFrameworks/PrivateSwift.framework/Modules/PrivateSwift.swiftmodule/source.swift \
1729
// RUN: -o %t/sdk/System/Library/PrivateFrameworks/PrivateSwift.framework/Modules/PrivateSwift.swiftmodule/%target-swiftmodule-name \
1830
// RUN: -emit-module-interface-path %t/sdk/System/Library/PrivateFrameworks/PrivateSwift.framework/Modules/PrivateSwift.swiftmodule/%target-swiftinterface-name
1931
// RUN: %target-swift-typecheck-module-from-interface(%t/sdk/System/Library/PrivateFrameworks/PrivateSwift.framework/Modules/PrivateSwift.swiftmodule/%target-swiftinterface-name) -module-name PrivateSwift
2032

2133
//// Public library
2234
// RUN: %target-swift-frontend -emit-module -module-name PublicSwiftLibrary -enable-library-evolution -swift-version 5 \
35+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -Osize -sdk %t/sdk \
2336
// RUN: %t/sdk/usr/lib/swift/PublicSwiftLibrary.swiftmodule/source.swift \
2437
// RUN: -o %t/sdk/usr/lib/swift/PublicSwiftLibrary.swiftmodule/%target-swiftmodule-name \
2538
// RUN: -emit-module-interface-path %t/sdk/usr/lib/swift/PublicSwiftLibrary.swiftmodule/%target-swiftinterface-name
2639
// RUN: %target-swift-typecheck-module-from-interface(%t/sdk/usr/lib/swift/PublicSwiftLibrary.swiftmodule/%target-swiftinterface-name) -module-name PublicSwiftLibrary
2740

2841
//// Public subframework
2942
// RUN: %target-swift-frontend -emit-module -module-name SubSwift -enable-library-evolution -swift-version 5 \
43+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -Osize -sdk %t/sdk \
3044
// RUN: %t/sdk/System/Library/SubFrameworks/SubSwift.framework/Modules/SubSwift.swiftmodule/source.swift \
3145
// RUN: -o %t/sdk/System/Library/SubFrameworks/SubSwift.framework/Modules/SubSwift.swiftmodule/%target-swiftmodule-name \
3246
// RUN: -emit-module-interface-path %t/sdk/System/Library/SubFrameworks/SubSwift.framework/Modules/SubSwift.swiftmodule/%target-swiftinterface-name
@@ -38,14 +52,31 @@
3852
// RUN: echo "This is a malformed swiftmodule" > %t/sdk/System/Library/SubFrameworks/SubSwift.framework/Modules/SubSwift.swiftmodule/%target-swiftmodule-name
3953
// RUN: echo "This is a malformed swiftmodule" > %t/sdk/usr/lib/swift/PublicSwiftLibrary.swiftmodule/%target-swiftmodule-name
4054

41-
/// There should be no attempt at loading the malformed PublicSwift swiftmodule.
42-
/// This means no notes about:
55+
/// Check the loading behavior from attempts at loading the malformed swiftmodules,
56+
/// printing the notes:
4357
/// * compiled module is out of date
4458
/// * unable to load compiled module '*': malformed
59+
60+
/// Check diagnostics in the local file:
4561
// RUN: %target-swift-frontend -typecheck %s -sdk %t/sdk \
46-
// RUN: -module-name Main -module-cache-path %t/cache \
47-
// RUN: -F %t/sdk/System/Library/PrivateFrameworks/ \
48-
// RUN: -verify -Rmodule-interface-rebuild
62+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import \
63+
// RUN: -module-name Main -module-cache-path %t/cache0 \
64+
// RUN: -F %t/sdk/System/Library/PrivateFrameworks/ -resource-dir "" \
65+
// RUN: -verify -verify-ignore-unknown -Rmodule-interface-rebuild -diagnostic-style=llvm
66+
67+
/// Check diagnostic for implicit imports:
68+
// RUN: echo "This is a malformed swiftmodule" > %t/sdk/usr/lib/swift/Swift.swiftmodule/%target-swiftmodule-name
69+
// RUN: %target-swift-frontend -typecheck %s -sdk %t/sdk \
70+
// RUN: -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import \
71+
// RUN: -module-name Main -module-cache-path %t/cache1 \
72+
// RUN: -F %t/sdk/System/Library/PrivateFrameworks/ -resource-dir "" \
73+
// RUN: -Rmodule-interface-rebuild -Rmodule-loading -diagnostic-style=llvm 2> %t/out
74+
// RUN: %FileCheck --input-file %t/out %s
75+
76+
import Swift
77+
// CHECK: rebuilding module 'Swift' from interface
78+
// CHECK-NEXT: compiled module is out of date
79+
// CHECK-NEXT: : malformed
4980

5081
import PublicSwift // expected-remark {{rebuilding module 'PublicSwift' from interface}}
5182
// expected-note @-1 {{was ignored because it belongs to a framework in the SDK}}

0 commit comments

Comments
 (0)