Skip to content

Commit ab1f911

Browse files
committed
[Tests] Update tests for emit-module-separately by default
1 parent 319a8d7 commit ab1f911

File tree

1 file changed

+78
-85
lines changed

1 file changed

+78
-85
lines changed

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 78 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -1270,7 +1270,7 @@ final class SwiftDriverTests: XCTestCase {
12701270
var driver = try Driver(args: commonArgs + ["-emit-executable", "-emit-module", "-g", "-target", "x86_64-apple-macosx10.15"], env: env)
12711271
let plannedJobs = try driver.planBuild()
12721272
XCTAssertEqual(5, plannedJobs.count)
1273-
XCTAssertEqual(plannedJobs.map(\.kind), [.compile, .compile, .mergeModule, .link, .generateDSYM])
1273+
XCTAssertEqual(plannedJobs.map(\.kind), [.emitModule, .compile, .compile, .link, .generateDSYM])
12741274

12751275
let linkJob = plannedJobs[3]
12761276
XCTAssertEqual(linkJob.kind, .link)
@@ -2248,7 +2248,7 @@ final class SwiftDriverTests: XCTestCase {
22482248
let plannedJobs = try driver.planBuild()
22492249
XCTAssertEqual(plannedJobs.count, 4)
22502250
// No module wrapping with Mach-O.
2251-
XCTAssertEqual(plannedJobs.map { $0.kind }, [.compile, .mergeModule, .link, .generateDSYM])
2251+
XCTAssertEqual(plannedJobs.map { $0.kind }, [.emitModule, .compile, .link, .generateDSYM])
22522252
}
22532253
#endif
22542254
}
@@ -3301,13 +3301,13 @@ final class SwiftDriverTests: XCTestCase {
33013301
"swiftc", "-working-directory", "/Foo/Bar", "-emit-module", "/tmp/main.swift"
33023302
])
33033303
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
3304-
XCTAssertEqual(plannedJobs.count, 2)
3305-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-o")))
3306-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftmodule"))))
3307-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-emit-module-doc-path")))
3308-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftdoc"))))
3309-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-emit-module-source-info-path")))
3310-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftsourceinfo"))))
3304+
XCTAssertEqual(plannedJobs.count, 1)
3305+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-o")))
3306+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftmodule"))))
3307+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-emit-module-doc-path")))
3308+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftdoc"))))
3309+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-emit-module-source-info-path")))
3310+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "/Foo/Bar/main.swiftsourceinfo"))))
33113311
}
33123312

33133313
func testDOTFileEmission() throws {
@@ -3421,14 +3421,14 @@ final class SwiftDriverTests: XCTestCase {
34213421
"swiftc", "-emit-module", "/tmp/main.swift", "-emit-module-path", "test-ios-macabi.swiftmodule"
34223422
])
34233423
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
3424-
XCTAssertEqual(plannedJobs.count, 2)
3425-
XCTAssertTrue(plannedJobs[1].kind == .mergeModule)
3426-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-o")))
3427-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftmodule"))))
3428-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-emit-module-doc-path")))
3429-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftdoc"))))
3430-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.flag("-emit-module-source-info-path")))
3431-
XCTAssertTrue(plannedJobs[1].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftsourceinfo"))))
3424+
XCTAssertEqual(plannedJobs.count, 1)
3425+
XCTAssertTrue(plannedJobs[0].kind == .emitModule)
3426+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-o")))
3427+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftmodule"))))
3428+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-emit-module-doc-path")))
3429+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftdoc"))))
3430+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.flag("-emit-module-source-info-path")))
3431+
XCTAssertTrue(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "test-ios-macabi.swiftsourceinfo"))))
34323432
}
34333433

34343434
func testToolchainClangPath() throws {
@@ -3813,13 +3813,11 @@ final class SwiftDriverTests: XCTestCase {
38133813
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
38143814
"foo", "-user-module-version", "12.21"])
38153815
let plannedJobs = try driver.planBuild()
3816-
XCTAssertEqual(plannedJobs.count, 2)
3817-
let compileJob = plannedJobs[0]
3818-
let mergeJob = plannedJobs[1]
3819-
XCTAssertEqual(compileJob.kind, .compile)
3820-
XCTAssertEqual(mergeJob.kind, .mergeModule)
3821-
XCTAssertTrue(mergeJob.commandLine.contains(.flag("-user-module-version")))
3822-
XCTAssertTrue(mergeJob.commandLine.contains(.flag("12.21")))
3816+
XCTAssertEqual(plannedJobs.count, 1)
3817+
let emitModuleJob = plannedJobs[0]
3818+
XCTAssertEqual(emitModuleJob.kind, .emitModule)
3819+
XCTAssertTrue(emitModuleJob.commandLine.contains(.flag("-user-module-version")))
3820+
XCTAssertTrue(emitModuleJob.commandLine.contains(.flag("12.21")))
38233821
}
38243822
}
38253823

@@ -3831,13 +3829,11 @@ final class SwiftDriverTests: XCTestCase {
38313829
"-verify-emitted-module-interface",
38323830
"-enable-library-evolution"])
38333831
let plannedJobs = try driver.planBuild()
3834-
XCTAssertEqual(plannedJobs.count, 3)
3835-
let compileJob = plannedJobs[0]
3836-
let mergeJob = plannedJobs[1]
3837-
let verifyJob = plannedJobs[2]
3838-
XCTAssertEqual(compileJob.kind, .compile)
3839-
XCTAssertEqual(mergeJob.kind, .mergeModule)
3840-
let mergeInterfaceOutputs = mergeJob.outputs.filter { $0.type == .swiftInterface }
3832+
XCTAssertEqual(plannedJobs.count, 2)
3833+
let emitJob = plannedJobs[0]
3834+
let verifyJob = plannedJobs[1]
3835+
XCTAssertEqual(emitJob.kind, .emitModule)
3836+
let mergeInterfaceOutputs = emitJob.outputs.filter { $0.type == .swiftInterface }
38413837
XCTAssertTrue(mergeInterfaceOutputs.count == 1,
38423838
"Merge module job should only have one swiftinterface output")
38433839
XCTAssertEqual(verifyJob.kind, .verifyModuleInterface)
@@ -3852,7 +3848,7 @@ final class SwiftDriverTests: XCTestCase {
38523848
var driver = try Driver(args: ["swiftc", "foo.swift", "-emit-module", "-module-name",
38533849
"foo", "-emit-module-interface", "-verify-emitted-module-interface"])
38543850
let plannedJobs = try driver.planBuild()
3855-
XCTAssertEqual(plannedJobs.count, 2)
3851+
XCTAssertEqual(plannedJobs.count, 1)
38563852
}
38573853

38583854
// Emit-module separately
@@ -4082,7 +4078,7 @@ final class SwiftDriverTests: XCTestCase {
40824078
XCTAssert(plannedJobs[0].commandLine.contains(.flag("-pch-output-dir")))
40834079
XCTAssert(plannedJobs[0].commandLine.contains(.path(try VirtualPath(path: "/pch"))))
40844080

4085-
XCTAssertEqual(plannedJobs[1].kind, .compile)
4081+
XCTAssertEqual(plannedJobs[1].kind, .emitModule)
40864082
XCTAssertEqual(plannedJobs[1].inputs.count, 2)
40874083
XCTAssertEqual(plannedJobs[1].inputs[0].file, try VirtualPath(path: "foo.swift"))
40884084
XCTAssert(plannedJobs[1].commandLine.contains(.flag("-pch-disable-validation")))
@@ -4281,25 +4277,22 @@ final class SwiftDriverTests: XCTestCase {
42814277
let compileJob = plannedJobs.first(where: {$0.kind == .compile})!
42824278
XCTAssertEqual(compileJob.inputs.count, 1)
42834279
XCTAssertEqual(compileJob.inputs[0].file, .relative(RelativePath("embed-bitcode.swift")))
4284-
XCTAssertEqual(compileJob.outputs.count, 4)
4280+
XCTAssertEqual(compileJob.outputs.count, 1)
42854281
XCTAssertTrue(matchTemporary(compileJob.outputs[0].file, "embed-bitcode.bc"))
4286-
XCTAssertTrue(matchTemporary(compileJob.outputs[1].file, "embed-bitcode.swiftmodule"))
4287-
XCTAssertTrue(matchTemporary(compileJob.outputs[2].file, "embed-bitcode.swiftdoc"))
4288-
XCTAssertTrue(matchTemporary(compileJob.outputs[3].file, "embed-bitcode.swiftsourceinfo"))
42894282

42904283
let backendJob = plannedJobs.first(where: {$0.kind == .backend})!
42914284
XCTAssertEqual(backendJob.inputs.count, 1)
42924285
XCTAssertTrue(matchTemporary(backendJob.inputs[0].file, "embed-bitcode.bc"))
42934286
XCTAssertEqual(backendJob.outputs.count, 1)
42944287
XCTAssertEqual(backendJob.outputs[0].file, .relative(RelativePath("embed-bitcode.o")))
42954288

4296-
XCTAssertEqual(plannedJobs[2].kind, .mergeModule)
4297-
XCTAssertEqual(plannedJobs[2].inputs.count, 1)
4298-
XCTAssertTrue(matchTemporary(plannedJobs[2].inputs[0].file, "embed-bitcode.swiftmodule"))
4299-
XCTAssertEqual(plannedJobs[2].outputs.count, 3)
4300-
XCTAssertEqual(plannedJobs[2].outputs[0].file, .relative(RelativePath("main.swiftmodule")))
4301-
XCTAssertEqual(plannedJobs[2].outputs[1].file, .relative(RelativePath("main.swiftdoc")))
4302-
XCTAssertEqual(plannedJobs[2].outputs[2].file, .relative(RelativePath("main.swiftsourceinfo")))
4289+
let emitModuleJob = plannedJobs.first(where: {$0.kind == .emitModule})!
4290+
XCTAssertEqual(emitModuleJob.inputs.count, 1)
4291+
XCTAssertEqual(emitModuleJob.inputs[0].file, .relative(RelativePath("embed-bitcode.swift")))
4292+
XCTAssertEqual(emitModuleJob.outputs.count, 3)
4293+
XCTAssertEqual(emitModuleJob.outputs[0].file, .relative(RelativePath("main.swiftmodule")))
4294+
XCTAssertEqual(emitModuleJob.outputs[1].file, .relative(RelativePath("main.swiftdoc")))
4295+
XCTAssertEqual(emitModuleJob.outputs[2].file, .relative(RelativePath("main.swiftsourceinfo")))
43034296
}
43044297

43054298
do {
@@ -4329,35 +4322,35 @@ final class SwiftDriverTests: XCTestCase {
43294322
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
43304323
XCTAssertEqual(plannedJobs.count, 5)
43314324

4332-
XCTAssertEqual(plannedJobs[0].kind, .compile)
4333-
XCTAssertEqual(plannedJobs[0].outputs.count, 4)
4334-
XCTAssertTrue(matchTemporary(plannedJobs[0].outputs[0].file, "embed-bitcode.bc"))
4335-
4336-
XCTAssertEqual(plannedJobs[1].kind, .backend)
4337-
XCTAssertEqual(plannedJobs[1].inputs.count, 1)
4338-
XCTAssertTrue(matchTemporary(plannedJobs[1].inputs[0].file, "embed-bitcode.bc"))
4325+
XCTAssertEqual(plannedJobs[1].kind, .compile)
43394326
XCTAssertEqual(plannedJobs[1].outputs.count, 1)
4340-
XCTAssertEqual(plannedJobs[1].outputs[0].file, .relative(RelativePath("embed-bitcode.o")))
4327+
XCTAssertTrue(matchTemporary(plannedJobs[1].outputs[0].file, "embed-bitcode.bc"))
43414328

4342-
XCTAssertEqual(plannedJobs[2].kind, .compile)
4343-
XCTAssertEqual(plannedJobs[2].outputs.count, 4)
4344-
XCTAssertTrue(matchTemporary(plannedJobs[2].outputs[0].file, "empty.bc"))
4345-
4346-
XCTAssertEqual(plannedJobs[3].kind, .backend)
4347-
XCTAssertEqual(plannedJobs[3].inputs.count, 1)
4348-
XCTAssertTrue(matchTemporary(plannedJobs[3].inputs[0].file, "empty.bc"))
4329+
XCTAssertEqual(plannedJobs[2].kind, .backend)
4330+
XCTAssertEqual(plannedJobs[2].inputs.count, 1)
4331+
XCTAssertTrue(matchTemporary(plannedJobs[2].inputs[0].file, "embed-bitcode.bc"))
4332+
XCTAssertEqual(plannedJobs[2].outputs.count, 1)
4333+
XCTAssertEqual(plannedJobs[2].outputs[0].file, .relative(RelativePath("embed-bitcode.o")))
43494334

4335+
XCTAssertEqual(plannedJobs[3].kind, .compile)
43504336
XCTAssertEqual(plannedJobs[3].outputs.count, 1)
4351-
XCTAssertEqual(plannedJobs[3].outputs[0].file, .relative(RelativePath("empty.o")))
4337+
XCTAssertTrue(matchTemporary(plannedJobs[3].outputs[0].file, "empty.bc"))
4338+
4339+
XCTAssertEqual(plannedJobs[4].kind, .backend)
4340+
XCTAssertEqual(plannedJobs[4].inputs.count, 1)
4341+
XCTAssertTrue(matchTemporary(plannedJobs[4].inputs[0].file, "empty.bc"))
4342+
4343+
XCTAssertEqual(plannedJobs[4].outputs.count, 1)
4344+
XCTAssertEqual(plannedJobs[4].outputs[0].file, .relative(RelativePath("empty.o")))
43524345

4353-
XCTAssertEqual(plannedJobs[4].kind, .mergeModule)
4354-
XCTAssertEqual(plannedJobs[4].inputs.count, 2)
4355-
XCTAssertTrue(matchTemporary(plannedJobs[4].inputs[0].file, "embed-bitcode.swiftmodule"))
4356-
XCTAssertTrue(matchTemporary(plannedJobs[4].inputs[1].file, "empty.swiftmodule"))
4357-
XCTAssertEqual(plannedJobs[4].outputs.count, 3)
4358-
XCTAssertEqual(plannedJobs[4].outputs[0].file, .relative(RelativePath("ABC.swiftmodule")))
4359-
XCTAssertEqual(plannedJobs[4].outputs[1].file, .relative(RelativePath("ABC.swiftdoc")))
4360-
XCTAssertEqual(plannedJobs[4].outputs[2].file, .relative(RelativePath("ABC.swiftsourceinfo")))
4346+
let emitModuleJob = plannedJobs.first(where: { $0.kind == .emitModule })!
4347+
XCTAssertEqual(emitModuleJob.inputs.count, 2)
4348+
XCTAssertEqual(emitModuleJob.inputs[0].file, .relative(RelativePath("embed-bitcode.swift")))
4349+
XCTAssertEqual(emitModuleJob.inputs[1].file, .relative(RelativePath("empty.swift")))
4350+
XCTAssertEqual(emitModuleJob.outputs.count, 3)
4351+
XCTAssertEqual(emitModuleJob.outputs[0].file, .relative(RelativePath("ABC.swiftmodule")))
4352+
XCTAssertEqual(emitModuleJob.outputs[1].file, .relative(RelativePath("ABC.swiftdoc")))
4353+
XCTAssertEqual(emitModuleJob.outputs[2].file, .relative(RelativePath("ABC.swiftsourceinfo")))
43614354
}
43624355

43634356
do {
@@ -4606,12 +4599,12 @@ final class SwiftDriverTests: XCTestCase {
46064599
do {
46074600
var driver = try Driver(args: ["swiftc", "-emit-module", "foo.swift"])
46084601
let plannedJobs = try driver.planBuild()
4609-
let compileJob = plannedJobs[0]
4610-
XCTAssertTrue(compileJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4611-
XCTAssertEqual(compileJob.outputs.count, 3)
4612-
XCTAssertTrue(matchTemporary(compileJob.outputs[0].file, "foo.swiftmodule"))
4613-
XCTAssertTrue(matchTemporary(compileJob.outputs[1].file, "foo.swiftdoc"))
4614-
XCTAssertTrue(matchTemporary(compileJob.outputs[2].file, "foo.swiftsourceinfo"))
4602+
let emitModuleJob = plannedJobs[0]
4603+
XCTAssertTrue(emitModuleJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4604+
XCTAssertEqual(emitModuleJob.outputs.count, 3)
4605+
XCTAssertTrue(emitModuleJob.outputs[0].file == VirtualPath.relative(RelativePath("foo.swiftmodule")))
4606+
XCTAssertTrue(emitModuleJob.outputs[1].file == VirtualPath.relative(RelativePath("foo.swiftdoc")))
4607+
XCTAssertTrue(emitModuleJob.outputs[2].file == VirtualPath.relative(RelativePath("foo.swiftsourceinfo")))
46154608
}
46164609
// implicit with Project/ Directory
46174610
do {
@@ -4622,23 +4615,23 @@ final class SwiftDriverTests: XCTestCase {
46224615
path.appending(component: "foo.swift").description,
46234616
"-o", path.appending(component: "foo.swiftmodule").description])
46244617
let plannedJobs = try driver.planBuild()
4625-
let mergeModuleJob = plannedJobs[1]
4626-
XCTAssertTrue(mergeModuleJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4627-
XCTAssertEqual(mergeModuleJob.outputs.count, 3)
4628-
XCTAssertEqual(mergeModuleJob.outputs[0].file, .absolute(path.appending(component: "foo.swiftmodule")))
4629-
XCTAssertEqual(mergeModuleJob.outputs[1].file, .absolute(path.appending(component: "foo.swiftdoc")))
4630-
XCTAssertEqual(mergeModuleJob.outputs[2].file, .absolute(projectDirPath.appending(component: "foo.swiftsourceinfo")))
4618+
let emitModuleJob = plannedJobs[0]
4619+
XCTAssertTrue(emitModuleJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4620+
XCTAssertEqual(emitModuleJob.outputs.count, 3)
4621+
XCTAssertEqual(emitModuleJob.outputs[0].file, .absolute(path.appending(component: "foo.swiftmodule")))
4622+
XCTAssertEqual(emitModuleJob.outputs[1].file, .absolute(path.appending(component: "foo.swiftdoc")))
4623+
XCTAssertEqual(emitModuleJob.outputs[2].file, .absolute(projectDirPath.appending(component: "foo.swiftsourceinfo")))
46314624
}
46324625
}
46334626
// avoid implicit swiftsourceinfo
46344627
do {
46354628
var driver = try Driver(args: ["swiftc", "-emit-module", "-avoid-emit-module-source-info", "foo.swift"])
46364629
let plannedJobs = try driver.planBuild()
4637-
let compileJob = plannedJobs[0]
4638-
XCTAssertFalse(compileJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4639-
XCTAssertEqual(compileJob.outputs.count, 2)
4640-
XCTAssertTrue(matchTemporary(compileJob.outputs[0].file, "foo.swiftmodule"))
4641-
XCTAssertTrue(matchTemporary(compileJob.outputs[1].file, "foo.swiftdoc"))
4630+
let emitModuleJob = plannedJobs[0]
4631+
XCTAssertFalse(emitModuleJob.commandLine.contains(.flag("-emit-module-source-info-path")))
4632+
XCTAssertEqual(emitModuleJob.outputs.count, 2)
4633+
XCTAssertTrue(emitModuleJob.outputs[0].file == VirtualPath.relative(RelativePath("foo.swiftmodule")))
4634+
XCTAssertTrue(emitModuleJob.outputs[1].file == VirtualPath.relative(RelativePath("foo.swiftdoc")))
46424635
}
46434636
}
46444637

0 commit comments

Comments
 (0)