|
5 | 5 | // RUN: split-file %s %t
|
6 | 6 |
|
7 | 7 | // RUN: sed -e "s|OUT_DIR|%t/redirects|g" -e "s|IN_DIR|%S/Inputs/CHeaders|g" %t/overlay_template.yaml > %t/overlay.yaml
|
| 8 | +// RUN: sed -e "s|OUT_DIR|%t/redirects|g" -e "s|IN_DIR|%S/Inputs/CHeaders1|g" %t/overlay_template.yaml > %t/overlay1.yaml |
8 | 9 |
|
9 | 10 | // RUN: %target-swift-frontend -scan-dependencies -module-load-mode prefer-interface -module-cache-path %t/module-cache %t/test.swift -o %t/deps.json -I %S/Inputs/CHeaders -I %S/Inputs/Swift -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -file-compilation-dir %t -Xcc -ivfsoverlay -Xcc %t/overlay.yaml
|
10 |
| -// RUN: %validate-json %t/deps.json | %FileCheck %s |
| 11 | +// RUN: %validate-json %t/deps.json > %t/validated_deps.json |
| 12 | +// RUN: cat %t/validated_deps.json | %FileCheck %s |
| 13 | + |
| 14 | +// RUN: %target-swift-frontend -scan-dependencies -module-load-mode prefer-interface -module-cache-path %t/module-cache %t/test.swift -o %t/deps1.json -I %S/Inputs/CHeaders -I %S/Inputs/Swift -disable-implicit-concurrency-module-import -disable-implicit-string-processing-module-import -file-compilation-dir %t -Xcc -ivfsoverlay -Xcc %t/overlay1.yaml |
| 15 | +// RUN: %validate-json %t/deps1.json > %t/validated_deps1.json |
| 16 | +// RUN: cat %t/validated_deps.json %t/validated_deps1.json \ |
| 17 | +// RUN: | %FileCheck %s --check-prefix=MOD-HASH |
11 | 18 |
|
12 | 19 | //--- overlay_template.yaml
|
13 | 20 | {
|
@@ -61,3 +68,27 @@ import F
|
61 | 68 | // CHECK-LABEL: "modulePath": "{{.*}}{{/|\\}}F-{{.*}}.pcm",
|
62 | 69 | // CHECK-NOT: "-ivfsoverlay",
|
63 | 70 | // CHECK-NOT: "{{.*}}{{/|\\}}preserve_used_vfs.swift.tmp{{/|\\}}overlay.yaml",
|
| 71 | + |
| 72 | +/// Check that the dependency swift module hashes are identical when the vfs overlays are ignored. |
| 73 | +// MOD-HASH: "mainModuleName": "deps", |
| 74 | +// MOD-HASH: "linkLibraries": [], |
| 75 | +// MOD-HASH-NEXT: "details": { |
| 76 | +// MOD-HASH-NEXT: "swift": { |
| 77 | +// MOD-HASH-NEXT: "moduleInterfacePath": "{{.*}}{{/|\\}}F.swiftinterface", |
| 78 | +// MOD-HASH: "commandLine": [ |
| 79 | +// MOD-HASH: "-o", |
| 80 | +// MOD-HASH-NEXT: "{{.*}}{{/|\\}}F-[[FHASH:.*]].swiftmodule", |
| 81 | +// MOD-HASH: "-swift-module-file=Swift={{.*}}{{/|\\}}Swift-[[SHASH:.*]].swiftmodule", |
| 82 | +// MOD-HASH: "-swift-module-file=SwiftOnoneSupport={{.*}}{{/|\\}}SwiftOnoneSupport-[[SOSHASH:.*]].swiftmodule", |
| 83 | +// MOD-HASH: ], |
| 84 | +// MOD-HASH: "mainModuleName": "deps1", |
| 85 | +// MOD-HASH: "linkLibraries": [], |
| 86 | +// MOD-HASH: "details": { |
| 87 | +// MOD-HASH-NEXT: "swift": { |
| 88 | +// MOD-HASH-NEXT: "moduleInterfacePath": "{{.*}}{{/|\\}}F.swiftinterface", |
| 89 | +// MOD-HASH: "commandLine": [ |
| 90 | +// MOD-HASH: "-o", |
| 91 | +// MOD-HASH-NEXT: "{{.*}}{{/|\\}}F-[[FHASH]].swiftmodule", |
| 92 | +// MOD-HASH: "-swift-module-file=Swift={{.*}}{{/|\\}}Swift-[[SHASH]].swiftmodule", |
| 93 | +// MOD-HASH: "-swift-module-file=SwiftOnoneSupport={{.*}}{{/|\\}}SwiftOnoneSupport-[[SOSHASH]].swiftmodule", |
| 94 | +// MOD-HASH: ], |
0 commit comments