Skip to content

Commit 82426d2

Browse files
committed
Tests: Add a containsJob(_:) utility in SwiftDriverTests to reduce boilerplate.
1 parent e4b5db9 commit 82426d2

File tree

1 file changed

+22
-17
lines changed

1 file changed

+22
-17
lines changed

Tests/SwiftDriverTests/SwiftDriverTests.swift

Lines changed: 22 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1683,7 +1683,7 @@ final class SwiftDriverTests: XCTestCase {
16831683
let plannedJobs = try driver.planBuild()
16841684

16851685
XCTAssertEqual(3, plannedJobs.count)
1686-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1686+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
16871687

16881688
let linkJob = plannedJobs[2]
16891689
XCTAssertEqual(linkJob.kind, .link)
@@ -1719,7 +1719,7 @@ final class SwiftDriverTests: XCTestCase {
17191719
let plannedJobs = try driver.planBuild()
17201720

17211721
XCTAssertEqual(3, plannedJobs.count)
1722-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1722+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
17231723

17241724
let linkJob = plannedJobs[2]
17251725
XCTAssertEqual(linkJob.kind, .link)
@@ -1739,7 +1739,7 @@ final class SwiftDriverTests: XCTestCase {
17391739
let plannedJobs = try driver.planBuild()
17401740

17411741
XCTAssertEqual(3, plannedJobs.count)
1742-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1742+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
17431743

17441744
let linkJob = plannedJobs[2]
17451745
XCTAssertEqual(linkJob.kind, .link)
@@ -1759,7 +1759,7 @@ final class SwiftDriverTests: XCTestCase {
17591759
let plannedJobs = try driver.planBuild()
17601760

17611761
XCTAssertEqual(3, plannedJobs.count)
1762-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1762+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
17631763

17641764
let linkJob = plannedJobs[2]
17651765
XCTAssertEqual(linkJob.kind, .link)
@@ -1856,7 +1856,7 @@ final class SwiftDriverTests: XCTestCase {
18561856
let plannedJobs = try driver.planBuild()
18571857

18581858
XCTAssertEqual(3, plannedJobs.count)
1859-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1859+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
18601860

18611861
let linkJob = plannedJobs[2]
18621862
XCTAssertEqual(linkJob.kind, .link)
@@ -1876,7 +1876,7 @@ final class SwiftDriverTests: XCTestCase {
18761876
let plannedJobs = try driver.planBuild()
18771877

18781878
XCTAssertEqual(plannedJobs.count, 3)
1879-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1879+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
18801880

18811881
let linkJob = plannedJobs[2]
18821882
XCTAssertEqual(linkJob.kind, .link)
@@ -1906,7 +1906,7 @@ final class SwiftDriverTests: XCTestCase {
19061906
let plannedJobs = try driver.planBuild()
19071907

19081908
XCTAssertEqual(plannedJobs.count, 3)
1909-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1909+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
19101910

19111911
let linkJob = plannedJobs[2]
19121912
XCTAssertEqual(linkJob.kind, .link)
@@ -1939,7 +1939,7 @@ final class SwiftDriverTests: XCTestCase {
19391939
var driver = try Driver(args: commonArgs + ["-emit-executable", "-target", "x86_64-apple-macosx10.15"], env: env)
19401940
let plannedJobs = try driver.planBuild()
19411941
XCTAssertEqual(3, plannedJobs.count)
1942-
XCTAssertFalse(plannedJobs.contains { $0.kind == .autolinkExtract })
1942+
XCTAssertFalse(plannedJobs.containsJob(.autolinkExtract))
19431943

19441944
let linkJob = plannedJobs[2]
19451945
XCTAssertEqual(linkJob.kind, .link)
@@ -1961,23 +1961,23 @@ final class SwiftDriverTests: XCTestCase {
19611961
#if os(macOS)
19621962
var driver1 = try Driver(args: commonArgs + ["-emit-executable", "-target", "x86_64-apple-macosx10.15", "-lto=llvm-thin"], env: env)
19631963
let plannedJobs1 = try driver1.planBuild()
1964-
XCTAssertFalse(plannedJobs1.contains(where: { $0.kind == .autolinkExtract }))
1964+
XCTAssertFalse(plannedJobs1.containsJob(.autolinkExtract))
19651965
let linkJob1 = try plannedJobs1.findJob(.link)
19661966
XCTAssertTrue(linkJob1.tool.name.contains("clang"))
19671967
XCTAssertTrue(linkJob1.commandLine.contains(.flag("-flto=thin")))
19681968
#endif
19691969

19701970
var driver2 = try Driver(args: commonArgs + ["-emit-executable", "-O", "-target", "x86_64-unknown-linux", "-lto=llvm-thin"], env: env)
19711971
let plannedJobs2 = try driver2.planBuild()
1972-
XCTAssertFalse(plannedJobs2.contains(where: { $0.kind == .autolinkExtract }))
1972+
XCTAssertFalse(plannedJobs2.containsJob(.autolinkExtract))
19731973
let linkJob2 = try plannedJobs2.findJob(.link)
19741974
XCTAssertTrue(linkJob2.tool.name.contains("clang"))
19751975
XCTAssertTrue(linkJob2.commandLine.contains(.flag("-flto=thin")))
19761976
XCTAssertTrue(linkJob2.commandLine.contains(.flag("-O3")))
19771977

19781978
var driver3 = try Driver(args: commonArgs + ["-emit-executable", "-target", "x86_64-unknown-linux", "-lto=llvm-full"], env: env)
19791979
let plannedJobs3 = try driver3.planBuild()
1980-
XCTAssertFalse(plannedJobs3.contains(where: { $0.kind == .autolinkExtract }))
1980+
XCTAssertFalse(plannedJobs3.containsJob(.autolinkExtract))
19811981

19821982
let compileJob3 = try plannedJobs3.findJob(.compile)
19831983
XCTAssertTrue(compileJob3.outputs.contains { $0.file.basename.hasSuffix(".bc") })
@@ -4567,7 +4567,7 @@ final class SwiftDriverTests: XCTestCase {
45674567
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
45684568

45694569
XCTAssertEqual(plannedJobs.count, 3)
4570-
XCTAssertFalse(plannedJobs.contains { $0.kind == .generateDSYM })
4570+
XCTAssertFalse(plannedJobs.containsJob(.generateDSYM))
45714571
}
45724572

45734573
do {
@@ -4576,7 +4576,7 @@ final class SwiftDriverTests: XCTestCase {
45764576
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
45774577

45784578
XCTAssertEqual(plannedJobs.count, 3)
4579-
XCTAssertFalse(plannedJobs.contains { $0.kind == .generateDSYM })
4579+
XCTAssertFalse(plannedJobs.containsJob(.generateDSYM))
45804580
}
45814581

45824582
do {
@@ -4594,7 +4594,7 @@ final class SwiftDriverTests: XCTestCase {
45944594
let jobs = try driver.planBuild()
45954595

45964596
XCTAssertEqual(jobs.count, 3)
4597-
XCTAssertFalse(jobs.contains { $0.kind == .generateDSYM })
4597+
XCTAssertFalse(jobs.containsJob(.generateDSYM))
45984598
}
45994599

46004600
do {
@@ -4694,15 +4694,15 @@ final class SwiftDriverTests: XCTestCase {
46944694
verifier.expect(.warning("ignoring '-verify-debug-info'; no debug info is being generated"))
46954695
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
46964696
XCTAssertEqual(plannedJobs.count, 3)
4697-
XCTAssertFalse(plannedJobs.contains { $0.kind == .verifyDebugInfo })
4697+
XCTAssertFalse(plannedJobs.containsJob(.verifyDebugInfo))
46984698
}
46994699

47004700
// No dSYM generation (-gnone), therefore no verification
47014701
try assertDriverDiagnostics(args: commonArgs + ["-gnone"]) { driver, verifier in
47024702
verifier.expect(.warning("ignoring '-verify-debug-info'; no debug info is being generated"))
47034703
let plannedJobs = try driver.planBuild().removingAutolinkExtractJobs()
47044704
XCTAssertEqual(plannedJobs.count, 3)
4705-
XCTAssertFalse(plannedJobs.contains { $0.kind == .verifyDebugInfo })
4705+
XCTAssertFalse(plannedJobs.containsJob(.verifyDebugInfo))
47064706
}
47074707

47084708
do {
@@ -5554,7 +5554,7 @@ final class SwiftDriverTests: XCTestCase {
55545554
"-library-level", "api"])
55555555
let plannedJobs = try driver.planBuild()
55565556
XCTAssertEqual(plannedJobs.count, 2)
5557-
XCTAssertTrue(plannedJobs.contains() {$0.kind == .verifyModuleInterface})
5557+
XCTAssertTrue(plannedJobs.containsJob(.verifyModuleInterface))
55585558
}
55595559

55605560
// Not enabled by default when the library-level is spi.
@@ -7327,6 +7327,11 @@ extension Array where Element == Job {
73277327
return filtered
73287328
}
73297329

7330+
/// Returns true if a job with the given Kind is contained in the array.
7331+
func containsJob(_ kind: Job.Kind) -> Bool {
7332+
return contains(where: { $0.kind == kind })
7333+
}
7334+
73307335
/// Finds the first job with the given kind, or throws if one cannot be found.
73317336
func findJob(_ kind: Job.Kind) throws -> Job {
73327337
return try XCTUnwrap(first(where: { $0.kind == kind }))

0 commit comments

Comments
 (0)