Skip to content

Commit 446fc58

Browse files
Merge pull request #1954 from cachemeifyoucan/eng/PR-154592458
[Tests] Do not share underlying Oracle for caching tests
2 parents 8735180 + fa7ff7f commit 446fc58

File tree

1 file changed

+13
-4
lines changed

1 file changed

+13
-4
lines changed

Tests/SwiftDriverTests/CachingBuildTests.swift

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -193,8 +193,6 @@ private func checkCachingBuildJobDependencies(job: Job,
193193

194194

195195
final class CachingBuildTests: XCTestCase {
196-
let dependencyOracle = InterModuleDependencyOracle()
197-
198196
override func setUpWithError() throws {
199197
try super.setUpWithError()
200198

@@ -368,6 +366,7 @@ final class CachingBuildTests: XCTestCase {
368366
let privateSwiftInterfacePath: AbsolutePath = path.appending(component: "testModuleOnlyJob.private.swiftinterface")
369367
let modulePath: AbsolutePath = path.appending(component: "testModuleOnlyJob.swiftmodule")
370368
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
369+
let dependencyOracle = InterModuleDependencyOracle()
371370
var driver = try Driver(args: ["swiftc",
372371
"-module-name", "ModuleOnly",
373372
"-I", cHeadersPath.nativePathString(escaped: true),
@@ -423,6 +422,7 @@ final class CachingBuildTests: XCTestCase {
423422
let privateSwiftInterfacePath: AbsolutePath = path.appending(component: "testSeparateModuleJob.private.swiftinterface")
424423
let modulePath: AbsolutePath = path.appending(component: "testSeparateModuleJob.swiftmodule")
425424
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
425+
let dependencyOracle = InterModuleDependencyOracle()
426426
var driver = try Driver(args: ["swiftc",
427427
"-module-name", "SeparateModuleJob",
428428
"-I", cHeadersPath.nativePathString(escaped: true),
@@ -621,6 +621,7 @@ final class CachingBuildTests: XCTestCase {
621621
try testInputsPath.appending(component: "ExplicitModuleBuilds")
622622
.appending(component: "Swift")
623623
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
624+
let dependencyOracle = InterModuleDependencyOracle()
624625
var driver = try Driver(args: ["swiftc",
625626
"-I", cHeadersPath.nativePathString(escaped: true),
626627
"-I", swiftModuleInterfacesPath.nativePathString(escaped: true),
@@ -672,6 +673,7 @@ final class CachingBuildTests: XCTestCase {
672673
$0.send("import Foo")
673674
}
674675
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
676+
let dependencyOracle = InterModuleDependencyOracle()
675677

676678
var fooBuildDriver = try Driver(args: ["swiftc",
677679
"-explicit-module-build",
@@ -745,6 +747,7 @@ final class CachingBuildTests: XCTestCase {
745747
.appending(component: "Swift")
746748
let casPath = path.appending(component: "cas")
747749
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
750+
let dependencyOracle = InterModuleDependencyOracle()
748751
var driver = try Driver(args: ["swiftc",
749752
"-I", cHeadersPath.nativePathString(escaped: true),
750753
"-I", swiftModuleInterfacesPath.nativePathString(escaped: true),
@@ -756,6 +759,8 @@ final class CachingBuildTests: XCTestCase {
756759
"-disable-clang-target",
757760
main.nativePathString(escaped: true)] + sdkArgumentsForTesting,
758761
interModuleDependencyOracle: dependencyOracle)
762+
// Plan a build to initialize the scanner and the CAS underneath.
763+
_ = try driver.planBuild()
759764
let scanLibPath = try XCTUnwrap(driver.getSwiftScanLibPath())
760765
try dependencyOracle.verifyOrCreateScannerInstance(swiftScanLibPath: scanLibPath)
761766
let resolver = try ArgsResolver(fileSystem: localFileSystem)
@@ -858,6 +863,7 @@ final class CachingBuildTests: XCTestCase {
858863

859864
XCTAssertEqual(scanDiagnostics.count, 1)
860865
XCTAssertEqual(scanDiagnostics[0].severity, .error)
866+
861867
}
862868
}
863869

@@ -882,6 +888,7 @@ final class CachingBuildTests: XCTestCase {
882888
let mockBlocklistDir = try testInputsPath.appending(components: "Dummy.xctoolchain", "usr", "bin")
883889
var env = ProcessEnv.block
884890
env["_SWIFT_DRIVER_MOCK_BLOCK_LIST_DIR"] = mockBlocklistDir.nativePathString(escaped: true)
891+
let dependencyOracle = InterModuleDependencyOracle()
885892
var driver = try Driver(args: ["swiftc",
886893
"-I", cHeadersPath.nativePathString(escaped: true),
887894
"-I", swiftModuleInterfacesPath.nativePathString(escaped: true),
@@ -962,6 +969,7 @@ final class CachingBuildTests: XCTestCase {
962969
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
963970
let bridgingHeaderpath: AbsolutePath =
964971
cHeadersPath.appending(component: "Bridging.h")
972+
let dependencyOracle = InterModuleDependencyOracle()
965973
var driver = try Driver(args: ["swiftc",
966974
"-I", cHeadersPath.nativePathString(escaped: true),
967975
"-I", swiftModuleInterfacesPath.nativePathString(escaped: true),
@@ -1016,6 +1024,7 @@ final class CachingBuildTests: XCTestCase {
10161024
let sdkArgumentsForTesting = (try? Driver.sdkArgumentsForTesting()) ?? []
10171025
let bridgingHeaderpath: AbsolutePath =
10181026
cHeadersPath.appending(component: "Bridging.h")
1027+
let dependencyOracle = InterModuleDependencyOracle()
10191028
var driver = try Driver(args: ["swiftc",
10201029
"-I", cHeadersPath.nativePathString(escaped: true),
10211030
"-I", swiftModuleInterfacesPath.nativePathString(escaped: true),
@@ -1072,8 +1081,7 @@ final class CachingBuildTests: XCTestCase {
10721081
"-cache-compile-job", "-cas-path", casPath.nativePathString(escaped: true),
10731082
"-import-objc-header", bridgingHeaderpath.nativePathString(escaped: true),
10741083
"-working-directory", path.nativePathString(escaped: true),
1075-
main.nativePathString(escaped: true)] + sdkArgumentsForTesting,
1076-
interModuleDependencyOracle: dependencyOracle)
1084+
main.nativePathString(escaped: true)] + sdkArgumentsForTesting)
10771085
let jobs = try driver.planBuild()
10781086
jobs.forEach { job in
10791087
guard job.kind == .compile else {
@@ -1093,6 +1101,7 @@ final class CachingBuildTests: XCTestCase {
10931101
let casPath = path.appending(component: "cas")
10941102
let driver = try Driver(args: ["swiftc"])
10951103
let scanLibPath = try XCTUnwrap(driver.getSwiftScanLibPath())
1104+
let dependencyOracle = InterModuleDependencyOracle()
10961105
try dependencyOracle.verifyOrCreateScannerInstance(swiftScanLibPath: scanLibPath)
10971106
let cas = try dependencyOracle.getOrCreateCAS(pluginPath: nil, onDiskPath: casPath, pluginOptions: [])
10981107
guard cas.supportsSizeManagement else {

0 commit comments

Comments
 (0)