|
21 | 21 | // RUN: %target-swift-frontend -typecheck %t/Client.swift -I %t \
|
22 | 22 | // RUN: -package-name barpkg \
|
23 | 23 | // RUN: -experimental-package-interface-load \
|
24 |
| -// RUN: -Rmodule-loading 2> %t/load-pkg-enabled.output |
25 |
| -// RUN: %FileCheck -check-prefix=CHECK-LOAD-PKG-ENABLED %s < %t/load-pkg-enabled.output |
26 |
| -// CHECK-LOAD-PKG-ENABLED: loaded module 'Bar'; source: '{{.*}}/Bar.package.swiftinterface', loaded: '{{.*}}/Bar-{{.*}}.swiftmodule' |
| 24 | +// RUN: -Rmodule-loading 2> %t/load-pkg-flag.output |
| 25 | +// RUN: %FileCheck -check-prefix=CHECK-LOAD-PKG-ENABLED %s < %t/load-pkg-flag.output |
27 | 26 |
|
28 |
| -/// Client should not load a package interface module without -experimental-package-interface-load |
| 27 | +/// Client should load a package interface module if enabled with env var `SWIFT_ENABLE_PACKAGE_INTERFACE_LOAD` |
| 28 | +// RUN: env SWIFT_ENABLE_PACKAGE_INTERFACE_LOAD=true \ |
| 29 | +// RUN: %target-swift-frontend -typecheck %t/Client.swift -I %t \ |
| 30 | +// RUN: -package-name barpkg \ |
| 31 | +// RUN: -Rmodule-loading 2> %t/load-pkg-env-var.output |
| 32 | +// RUN: %FileCheck -check-prefix=CHECK-LOAD-PKG-ENABLED %s < %t/load-pkg-env-var.output |
| 33 | + |
| 34 | +// CHECK-LOAD-PKG-ENABLED: loaded module 'Bar'; source: '{{.*}}Bar.package.swiftinterface', loaded: '{{.*}}Bar-{{.*}}.swiftmodule' |
| 35 | + |
| 36 | +/// Client should not load a package interface module without the flag or the env var |
29 | 37 | // RUN: not %target-swift-frontend -typecheck %t/Client.swift -I %t \
|
30 | 38 | // RUN: -package-name barpkg \
|
31 | 39 | // RUN: -Rmodule-loading 2> %t/load-pkg-off.output
|
32 | 40 | // RUN: %FileCheck -check-prefix=CHECK-LOAD-PKG-OFF %s < %t/load-pkg-off.output
|
33 |
| -// CHECK-LOAD-PKG-OFF: loaded module 'Bar'; source: '{{.*}}/Bar.private.swiftinterface', loaded: '{{.*}}/Bar-{{.*}}.swiftmodule' |
34 |
| -// CHECK-LOAD-PKG-OFF: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}/Bar.private.swiftinterface |
| 41 | +// CHECK-LOAD-PKG-OFF: loaded module 'Bar'; source: '{{.*}}Bar.private.swiftinterface', loaded: '{{.*}}Bar-{{.*}}.swiftmodule' |
| 42 | +// CHECK-LOAD-PKG-OFF: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}Bar.private.swiftinterface |
35 | 43 |
|
36 | 44 | /// Client loads a private interface since the package-name is different from the loaded module's.
|
37 | 45 | // RUN: %target-swift-frontend -typecheck %t/Client.swift -I %t \
|
38 | 46 | // RUN: -package-name foopkg \
|
39 | 47 | // RUN: -experimental-package-interface-load \
|
40 | 48 | // RUN: -Rmodule-loading 2> %t/load-diff-pkg.output
|
41 | 49 | // RUN: %FileCheck -check-prefix=CHECK-LOAD-DIFF-PKG %s < %t/load-diff-pkg.output
|
42 |
| -// CHECK-LOAD-DIFF-PKG: loaded module 'Bar'; source: '{{.*}}/Bar.private.swiftinterface', loaded: '{{.*}}/Bar-{{.*}}.swiftmodule' |
| 50 | +// CHECK-LOAD-DIFF-PKG: loaded module 'Bar'; source: '{{.*}}Bar.private.swiftinterface', loaded: '{{.*}}Bar-{{.*}}.swiftmodule' |
43 | 51 |
|
44 | 52 | // RUN: rm -rf %t/*.swiftmodule
|
45 | 53 | // RUN: rm -rf %t/Bar.package.swiftinterface
|
|
50 | 58 | // RUN: -experimental-package-interface-load \
|
51 | 59 | // RUN: -Rmodule-loading 2> %t/load-priv.output
|
52 | 60 | // RUN: %FileCheck -check-prefix=CHECK-LOAD-PRIV %s < %t/load-priv.output
|
53 |
| -// CHECK-LOAD-PRIV: loaded module 'Bar'; source: '{{.*}}/Bar.private.swiftinterface', loaded: '{{.*}}/Bar-{{.*}}.swiftmodule' |
54 |
| -// CHECK-LOAD-PRIV: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}/Bar.private.swiftinterface |
| 61 | +// CHECK-LOAD-PRIV: loaded module 'Bar'; source: '{{.*}}Bar.private.swiftinterface', loaded: '{{.*}}Bar-{{.*}}.swiftmodule' |
| 62 | +// CHECK-LOAD-PRIV: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}Bar.private.swiftinterface |
55 | 63 |
|
56 | 64 | // RUN: rm -rf %t/*.swiftmodule
|
57 | 65 | // RUN: rm -rf %t/Bar.private.swiftinterface
|
|
64 | 72 | // RUN: -Rmodule-loading 2> %t/load-pub.output
|
65 | 73 |
|
66 | 74 | // RUN: %FileCheck -check-prefix=CHECK-LOAD-PUB %s < %t/load-pub.output
|
67 |
| -// CHECK-LOAD-PUB: loaded module 'Bar'; source: '{{.*}}/Bar.swiftinterface', loaded: '{{.*}}/Bar-{{.*}}.swiftmodule' |
68 |
| -// CHECK-LOAD-PUB: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}/Bar.swiftinterface |
| 75 | +// CHECK-LOAD-PUB: loaded module 'Bar'; source: '{{.*}}Bar.swiftinterface', loaded: '{{.*}}Bar-{{.*}}.swiftmodule' |
| 76 | +// CHECK-LOAD-PUB: error: module 'Bar' is in package 'barpkg' but was built from a non-package interface; modules of the same package can only be loaded if built from source or package interface: {{.*}}Bar.swiftinterface |
69 | 77 |
|
70 | 78 |
|
71 | 79 | //--- Bar.swift
|
|
0 commit comments