diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/A.json b/test/Incremental/CrossModule/Inputs/external-cascade/A.json deleted file mode 100644 index c332d75dc3eb6..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/A.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "A.swift": { - "object": "./A.o", - "swift-dependencies": "./A.swiftdeps", - "swiftmodule": "./A~partial.swiftmodule", - "swiftdoc": "./A.swiftdoc" - }, - "": { - "swift-dependencies": "./A~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/A.swift b/test/Incremental/CrossModule/Inputs/external-cascade/A.swift deleted file mode 100644 index 24372998c4adf..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/A.swift +++ /dev/null @@ -1,3 +0,0 @@ -import B - -public let fromA = fromB diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/B.json b/test/Incremental/CrossModule/Inputs/external-cascade/B.json deleted file mode 100644 index d367596bbde2c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/B.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "B.swift": { - "object": "./B.o", - "swift-dependencies": "./B.swiftdeps", - "swiftmodule": "./B~partial.swiftmodule", - "swiftdoc": "./B.swiftdoc" - }, - "": { - "swift-dependencies": "./B~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/B.swift b/test/Incremental/CrossModule/Inputs/external-cascade/B.swift deleted file mode 100644 index 12f93a40df9a3..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/B.swift +++ /dev/null @@ -1,3 +0,0 @@ -import C - -public let fromB = fromC diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/C.json b/test/Incremental/CrossModule/Inputs/external-cascade/C.json deleted file mode 100644 index a0b5b832851a2..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/C.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "C.swift": { - "object": "./C.o", - "swift-dependencies": "./C.swiftdeps", - "swiftmodule": "./C~partial.swiftmodule", - "swiftdoc": "./C.swiftdoc" - }, - "": { - "swift-dependencies": "./C~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/C.swift b/test/Incremental/CrossModule/Inputs/external-cascade/C.swift deleted file mode 100644 index e9ee5ef0dceef..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/C.swift +++ /dev/null @@ -1 +0,0 @@ -public let fromC = ASymbolFromAHeader + ASymbolFromAnotherHeader diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/another-header.h b/test/Incremental/CrossModule/Inputs/external-cascade/another-header.h deleted file mode 100644 index b69f5a05a1182..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/another-header.h +++ /dev/null @@ -1 +0,0 @@ -int ASymbolFromAnotherHeader = 43; diff --git a/test/Incremental/CrossModule/Inputs/external-cascade/bridging-header.h b/test/Incremental/CrossModule/Inputs/external-cascade/bridging-header.h deleted file mode 100644 index 94fc89f7c37b4..0000000000000 --- a/test/Incremental/CrossModule/Inputs/external-cascade/bridging-header.h +++ /dev/null @@ -1,2 +0,0 @@ -#include "another-header.h" -int ASymbolFromAHeader = 42; diff --git a/test/Incremental/CrossModule/Inputs/linear/A.json b/test/Incremental/CrossModule/Inputs/linear/A.json deleted file mode 100644 index c332d75dc3eb6..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/A.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "A.swift": { - "object": "./A.o", - "swift-dependencies": "./A.swiftdeps", - "swiftmodule": "./A~partial.swiftmodule", - "swiftdoc": "./A.swiftdoc" - }, - "": { - "swift-dependencies": "./A~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/linear/A.swift b/test/Incremental/CrossModule/Inputs/linear/A.swift deleted file mode 100644 index 720de06824628..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/A.swift +++ /dev/null @@ -1 +0,0 @@ -import B diff --git a/test/Incremental/CrossModule/Inputs/linear/B.json b/test/Incremental/CrossModule/Inputs/linear/B.json deleted file mode 100644 index d367596bbde2c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/B.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "B.swift": { - "object": "./B.o", - "swift-dependencies": "./B.swiftdeps", - "swiftmodule": "./B~partial.swiftmodule", - "swiftdoc": "./B.swiftdoc" - }, - "": { - "swift-dependencies": "./B~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/linear/B.swift b/test/Incremental/CrossModule/Inputs/linear/B.swift deleted file mode 100644 index 14f2e9a84b5c5..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/B.swift +++ /dev/null @@ -1,5 +0,0 @@ -import C - -public func fromB() { - return fromC() -} diff --git a/test/Incremental/CrossModule/Inputs/linear/C.json b/test/Incremental/CrossModule/Inputs/linear/C.json deleted file mode 100644 index a0b5b832851a2..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/C.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "C.swift": { - "object": "./C.o", - "swift-dependencies": "./C.swiftdeps", - "swiftmodule": "./C~partial.swiftmodule", - "swiftdoc": "./C.swiftdoc" - }, - "": { - "swift-dependencies": "./C~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/linear/C.swift b/test/Incremental/CrossModule/Inputs/linear/C.swift deleted file mode 100644 index d06ab94ab007c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/linear/C.swift +++ /dev/null @@ -1,7 +0,0 @@ -#if OLD -public func fromC() {} -#elseif NEW -public func fromC(parameter: Int = 0) {} -#else -#error("test must define one of NEW or OLD macros") -#endif diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/A.json b/test/Incremental/CrossModule/Inputs/module-fingerprint/A.json deleted file mode 100644 index c332d75dc3eb6..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/A.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "A.swift": { - "object": "./A.o", - "swift-dependencies": "./A.swiftdeps", - "swiftmodule": "./A~partial.swiftmodule", - "swiftdoc": "./A.swiftdoc" - }, - "": { - "swift-dependencies": "./A~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/A.swift b/test/Incremental/CrossModule/Inputs/module-fingerprint/A.swift deleted file mode 100644 index 9881473047256..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/A.swift +++ /dev/null @@ -1,6 +0,0 @@ -import B -import C - -public func use() { - fromB() -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/B.json b/test/Incremental/CrossModule/Inputs/module-fingerprint/B.json deleted file mode 100644 index d367596bbde2c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/B.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "B.swift": { - "object": "./B.o", - "swift-dependencies": "./B.swiftdeps", - "swiftmodule": "./B~partial.swiftmodule", - "swiftdoc": "./B.swiftdoc" - }, - "": { - "swift-dependencies": "./B~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/B.swift b/test/Incremental/CrossModule/Inputs/module-fingerprint/B.swift deleted file mode 100644 index 14f2e9a84b5c5..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/B.swift +++ /dev/null @@ -1,5 +0,0 @@ -import C - -public func fromB() { - return fromC() -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/C.json b/test/Incremental/CrossModule/Inputs/module-fingerprint/C.json deleted file mode 100644 index a0b5b832851a2..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/C.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "C.swift": { - "object": "./C.o", - "swift-dependencies": "./C.swiftdeps", - "swiftmodule": "./C~partial.swiftmodule", - "swiftdoc": "./C.swiftdoc" - }, - "": { - "swift-dependencies": "./C~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/C.swift b/test/Incremental/CrossModule/Inputs/module-fingerprint/C.swift deleted file mode 100644 index 5668f8702d6ef..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/C.swift +++ /dev/null @@ -1,4 +0,0 @@ -public func fromC(parameter: Int = 0) {} - -struct S { -} diff --git a/test/Incremental/CrossModule/Inputs/module-fingerprint/C2.swift b/test/Incremental/CrossModule/Inputs/module-fingerprint/C2.swift deleted file mode 100644 index 295827b7c35fe..0000000000000 --- a/test/Incremental/CrossModule/Inputs/module-fingerprint/C2.swift +++ /dev/null @@ -1,6 +0,0 @@ -public func fromC(parameter: Int = 0) {} - -struct S { - public func member() {} -} -public func other() {} diff --git a/test/Incremental/CrossModule/Inputs/transitive/A.json b/test/Incremental/CrossModule/Inputs/transitive/A.json deleted file mode 100644 index c332d75dc3eb6..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/A.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "A.swift": { - "object": "./A.o", - "swift-dependencies": "./A.swiftdeps", - "swiftmodule": "./A~partial.swiftmodule", - "swiftdoc": "./A.swiftdoc" - }, - "": { - "swift-dependencies": "./A~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/transitive/A.swift b/test/Incremental/CrossModule/Inputs/transitive/A.swift deleted file mode 100644 index 84d2bead2d914..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/A.swift +++ /dev/null @@ -1,9 +0,0 @@ -import B -import C - -public func use() { - fromB() - #if USEC - fromC() - #endif -} diff --git a/test/Incremental/CrossModule/Inputs/transitive/B.json b/test/Incremental/CrossModule/Inputs/transitive/B.json deleted file mode 100644 index d367596bbde2c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/B.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "B.swift": { - "object": "./B.o", - "swift-dependencies": "./B.swiftdeps", - "swiftmodule": "./B~partial.swiftmodule", - "swiftdoc": "./B.swiftdoc" - }, - "": { - "swift-dependencies": "./B~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/transitive/B.swift b/test/Incremental/CrossModule/Inputs/transitive/B.swift deleted file mode 100644 index 14f2e9a84b5c5..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/B.swift +++ /dev/null @@ -1,5 +0,0 @@ -import C - -public func fromB() { - return fromC() -} diff --git a/test/Incremental/CrossModule/Inputs/transitive/C.json b/test/Incremental/CrossModule/Inputs/transitive/C.json deleted file mode 100644 index a0b5b832851a2..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/C.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "C.swift": { - "object": "./C.o", - "swift-dependencies": "./C.swiftdeps", - "swiftmodule": "./C~partial.swiftmodule", - "swiftdoc": "./C.swiftdoc" - }, - "": { - "swift-dependencies": "./C~buildrecord.swiftdeps" - } -} diff --git a/test/Incremental/CrossModule/Inputs/transitive/C.swift b/test/Incremental/CrossModule/Inputs/transitive/C.swift deleted file mode 100644 index d06ab94ab007c..0000000000000 --- a/test/Incremental/CrossModule/Inputs/transitive/C.swift +++ /dev/null @@ -1,7 +0,0 @@ -#if OLD -public func fromC() {} -#elseif NEW -public func fromC(parameter: Int = 0) {} -#else -#error("test must define one of NEW or OLD macros") -#endif diff --git a/test/Incremental/CrossModule/external-cascade.swift b/test/Incremental/CrossModule/external-cascade.swift deleted file mode 100644 index 79390237d3332..0000000000000 --- a/test/Incremental/CrossModule/external-cascade.swift +++ /dev/null @@ -1,66 +0,0 @@ -// RUN: %empty-directory(%t) -// RUN: cp -r %S/Inputs/external-cascade/* %t - -// REQUIRES: rdar70772320 - -// -// This test establishes a chain of modules that all depend on a set of -// bridging headers. This test ensures that changes to external dependencies - -// especially those that aren't directly imported - cause incremental rebuilds. -// -// |bridging-header.h| - Module C Module B Module A -// ^ -------- -> -------- -> -------- -// | | ^ -// | | | -// |another-header.h| ------------------------ - -// -// Set up a clean incremental build of all three modules -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -import-objc-header %t/bridging-header.h -Xfrontend -validate-tbd-against-ir=none -driver-show-incremental -driver-show-job-lifecycle C.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift - -// -// Now change a header and ensure that the rebuild cascades outwards -// - -// RUN: rm %t/another-header.h -// RUN: cp %S/Inputs/external-cascade/another-header.h %t/another-header.h -// RUN: touch %t/another-header.h -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -import-objc-header %t/bridging-header.h -Xfrontend -validate-tbd-against-ir=none -driver-show-incremental -driver-show-job-lifecycle C.swift 2>&1 | %FileCheck -check-prefix MODULE-C %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift 2>&1 | %FileCheck -check-prefix MODULE-B %s -// RUN: touch %t/B.swiftmodule -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift 2>&1 | %FileCheck -check-prefix MODULE-A %s - -// MODULE-C: Job finished: {generate-pch: bridging-header-[[BRIDGING_HEADER:.*]].pch <= bridging-header.h} -// MODULE-C: Job finished: {compile: C.o <= C.swift bridging-header-[[BRIDGING_HEADER]].pch} -// MODULE-C: Job finished: {merge-module: C.swiftmodule <= C.o} - -// MODULE-B: Queuing because of external dependencies: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {merge-module: B.swiftmodule <= B.o} - - -// MODULE-A: Queuing because of external dependencies: {compile: A.o <= A.swift} -// MODULE-A: Job finished: {compile: A.o <= A.swift} -// MODULE-A: Job finished: {merge-module: A.swiftmodule <= A.o} - -// -// And ensure that the null build really is null. -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -import-objc-header %t/bridging-header.h -Xfrontend -validate-tbd-against-ir=none -driver-show-incremental -driver-show-job-lifecycle C.swift 2>&1 | %FileCheck -check-prefix MODULE-C-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift 2>&1 | %FileCheck -check-prefix MODULE-B-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift 2>&1 | %FileCheck -check-prefix MODULE-A-NULL %s - -// MODULE-C-NULL: Job finished: {generate-pch: bridging-header-[[BRIDGING_HEADER:.*]].pch <= bridging-header.h} -// MODULE-C-NULL: Job skipped: {compile: C.o <= C.swift bridging-header-[[BRIDGING_HEADER]].pch} -// MODULE-C-NULL: Job skipped: {merge-module: C.swiftmodule <= C.o} - -// MODULE-B-NULL: Job skipped: {compile: B.o <= B.swift} -// MODULE-B-NULL: Job skipped: {merge-module: B.swiftmodule <= B.o} - -// MODULE-A-NULL: Job skipped: {compile: A.o <= A.swift} -// MODULE-A-NULL: Job skipped: {merge-module: A.swiftmodule <= A.o} diff --git a/test/Incremental/CrossModule/linear.swift b/test/Incremental/CrossModule/linear.swift deleted file mode 100644 index ffd824bfdd267..0000000000000 --- a/test/Incremental/CrossModule/linear.swift +++ /dev/null @@ -1,58 +0,0 @@ -// RUN: %empty-directory(%t) -// RUN: cp -r %S/Inputs/linear/* %t - -// REQUIRES: rdar70772320 - -// -// This test establishes a "linear" chain of modules that import one another -// and ensures that a cross-module incremental build does not needlessly -// rebuild the transitive dependency. -// -// Module C Module B Module A -// -------- -> -------- -> -------- -// | ^ -// | | -// ------------X------------ - -// -// Set up a clean incremental build of all three modules -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DOLD C.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift - -// -// Now change C and ensure that B rebuilds but A does not -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DNEW C.swift 2>&1 | %FileCheck -check-prefix MODULE-C %s -// RUN: touch %t/C.swiftmodule -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift 2>&1 | %FileCheck -check-prefix MODULE-B %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift 2>&1 | %FileCheck -check-prefix MODULE-A %s - -// MODULE-C: Incremental compilation has been disabled - -// MODULE-B: Queuing because of incremental external dependencies: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {merge-module: B.swiftmodule <= B.o} - -// MODULE-A: Job skipped: {compile: A.o <= A.swift} -// MODULE-A: Job skipped: {merge-module: A.swiftmodule <= A.o} - -// -// And ensure that the null build really is null. -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DNEW C.swift 2>&1 | %FileCheck -check-prefix MODULE-C-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift 2>&1 | %FileCheck -check-prefix MODULE-B-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift 2>&1 | %FileCheck -check-prefix MODULE-A-NULL %s - -// MODULE-C-NULL: Job skipped: {compile: C.o <= C.swift} -// MODULE-C-NULL: Job skipped: {merge-module: C.swiftmodule <= C.o} - -// MODULE-B-NULL: Job skipped: {compile: B.o <= B.swift} -// MODULE-B-NULL: Job skipped: {merge-module: B.swiftmodule <= B.o} - -// MODULE-A-NULL: Job skipped: {compile: A.o <= A.swift} -// MODULE-A-NULL: Job skipped: {merge-module: A.swiftmodule <= A.o} diff --git a/test/Incremental/CrossModule/module-fingerprint.swift b/test/Incremental/CrossModule/module-fingerprint.swift deleted file mode 100644 index 0f2d504b5c004..0000000000000 --- a/test/Incremental/CrossModule/module-fingerprint.swift +++ /dev/null @@ -1,56 +0,0 @@ -// RUN: %empty-directory(%t) -// RUN: cp -r %S/Inputs/module-fingerprint/* %t - -// -// Set up a clean incremental build of all three modules -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle C.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift - -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print C -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-CLEAN-C -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print B -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-CLEAN-B -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print A -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-CLEAN-A - -// CHECK-CLEAN-C: fingerprint=7957733a8ee9bc44f726a516108786eb -// CHECK-CLEAN-B: fingerprint=17bb71bdc7972a93446d524f47044156 -// CHECK-CLEAN-A: fingerprint=048332944f6e149f2e8bed309d47283d - -// -// Now change C and ensure that B rebuilds but A does not -// - -// RUN: cd %t && echo "public func other() {}" >> C.swift - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle C.swift -// RUN: touch %t/C.swiftmodule -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift - -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print C -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL-C -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print B -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL-B -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print A -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL-A - -// CHECK-INCREMENTAL-C: fingerprint=263f083edcaaf08536f657d10082dacc -// CHECK-INCREMENTAL-B: fingerprint=17bb71bdc7972a93446d524f47044156 -// CHECK-INCREMENTAL-A: fingerprint=048332944f6e149f2e8bed309d47283d - -// -// Now change a top-level type of C and ensure that C's fingerprint does not change -// - -// RUN: cp %S/Inputs/module-fingerprint/C2.swift %t/C.swift - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle C.swift -// RUN: touch %t/C.swiftmodule -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle A.swift - -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print C -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL2-C -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print B -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL2-B -// RUN: %target-swift-ide-test -print-module-metadata -module-to-print A -enable-swiftsourceinfo -I %t -source-filename %s | %FileCheck %s --check-prefix=CHECK-INCREMENTAL2-A - -// CHECK-INCREMENTAL2-C: fingerprint=263f083edcaaf08536f657d10082dacc -// CHECK-INCREMENTAL2-B: fingerprint=17bb71bdc7972a93446d524f47044156 -// CHECK-INCREMENTAL2-A: fingerprint=048332944f6e149f2e8bed309d47283d diff --git a/test/Incremental/CrossModule/transitive.swift b/test/Incremental/CrossModule/transitive.swift deleted file mode 100644 index 082012939c199..0000000000000 --- a/test/Incremental/CrossModule/transitive.swift +++ /dev/null @@ -1,61 +0,0 @@ -// RUN: %empty-directory(%t) -// RUN: cp -r %S/Inputs/transitive/* %t - -// REQUIRES: rdar70772320 - -// -// This test establishes a "transitive" chain of modules that import one another -// and ensures that a cross-module incremental build rebuilds all modules -// involved in the chain. -// -// Module C Module B Module A -// -------- -> -------- -> -------- -// | ^ -// | | -// ------------------------- -// - -// -// Set up a clean incremental build of all three modules -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC -DOLD C.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC B.swift -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC A.swift - -// -// Now change C and ensure that B and A rebuild because of the change to -// an incremental external dependency. -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC -DNEW C.swift 2>&1 | %FileCheck -check-prefix MODULE-C %s -// RUN: touch %t/C.swiftmodule -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC B.swift 2>&1 | %FileCheck -check-prefix MODULE-B %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC A.swift 2>&1 | %FileCheck -check-prefix MODULE-A %s - -// MODULE-C: Incremental compilation has been disabled - -// MODULE-B: Queuing because of incremental external dependencies: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {compile: B.o <= B.swift} -// MODULE-B: Job finished: {merge-module: B.swiftmodule <= B.o} - -// MODULE-A: Queuing because of incremental external dependencies: {compile: A.o <= A.swift} -// MODULE-A: Job finished: {compile: A.o <= A.swift} -// MODULE-A: Job finished: {merge-module: A.swiftmodule <= A.o} - -// -// And ensure that the null build really is null. -// - -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/C.swiftmodule -module-name C -I %t -output-file-map %t/C.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC -DNEW C.swift 2>&1 | %FileCheck -check-prefix MODULE-C-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/B.swiftmodule -module-name B -I %t -output-file-map %t/B.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC B.swift 2>&1 | %FileCheck -check-prefix MODULE-B-NULL %s -// RUN: cd %t && %target-swiftc_driver -c -incremental -emit-dependencies -emit-module -emit-module-path %t/A.swiftmodule -module-name A -I %t -output-file-map %t/A.json -working-directory %t -driver-show-incremental -driver-show-job-lifecycle -DUSEC A.swift 2>&1 | %FileCheck -check-prefix MODULE-A-NULL %s - -// MODULE-C-NULL: Job skipped: {compile: C.o <= C.swift} -// MODULE-C-NULL: Job skipped: {merge-module: C.swiftmodule <= C.o} - -// MODULE-B-NULL: Job skipped: {compile: B.o <= B.swift} -// MODULE-B-NULL: Job skipped: {merge-module: B.swiftmodule <= B.o} - -// MODULE-A-NULL: Job skipped: {compile: A.o <= A.swift} -// MODULE-A-NULL: Job skipped: {merge-module: A.swiftmodule <= A.o}