Skip to content

Commit 76bb150

Browse files
committed
[Test Only] Make CachingBuildTests.testDependencyScanning be adaptable to scanner diagnostic revisions
Instead of throwing a failure, a scan may return a hollow result carrying diagnostic error payload
1 parent 2b5add9 commit 76bb150

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

Tests/SwiftDriverTests/CachingBuildTests.swift

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -823,15 +823,27 @@ final class CachingBuildTests: XCTestCase {
823823
"-cas-path", casPath2.nativePathString(escaped: true),
824824
]
825825
var scanDiagnostics: [ScannerDiagnosticPayload] = []
826-
XCTAssertThrowsError(try dependencyOracle.getDependencies(workingDirectory: path,
827-
commandLine: command,
828-
diagnostics: &scanDiagnostics)) {
829-
XCTAssertTrue($0 is DependencyScanningError)
830-
}
831-
let diags = try XCTUnwrap(dependencyOracle.getScannerDiagnostics())
832-
XCTAssertEqual(diags.count, 1)
833-
XCTAssertEqual(diags[0].severity, .error)
834-
XCTAssertEqual(diags[0].message, "CAS error encountered: conflicting CAS options used in scanning service")
826+
do {
827+
let _ = try dependencyOracle.getDependencies(workingDirectory: path,
828+
commandLine: command,
829+
diagnostics: &scanDiagnostics)
830+
} catch let error {
831+
XCTAssertTrue(error is DependencyScanningError)
832+
}
833+
834+
let testDiagnostics: [ScannerDiagnosticPayload]
835+
if try dependencyOracle.supportsPerScanDiagnostics(),
836+
!scanDiagnostics.isEmpty {
837+
testDiagnostics = scanDiagnostics
838+
print("Using Per-Scan diagnostics")
839+
} else {
840+
testDiagnostics = try XCTUnwrap(dependencyOracle.getScannerDiagnostics())
841+
print("Using Scanner-Global diagnostics")
842+
}
843+
844+
XCTAssertEqual(testDiagnostics.count, 1)
845+
XCTAssertEqual(testDiagnostics[0].severity, .error)
846+
XCTAssertEqual(testDiagnostics[0].message, "CAS error encountered: conflicting CAS options used in scanning service")
835847
}
836848
}
837849

0 commit comments

Comments
 (0)