Skip to content

Commit 8006132

Browse files
committed
[Test] Fix testParallelDependencyScanningDiagnostics to handle new diagnostics with source-locations
1 parent dd5bbca commit 8006132

File tree

1 file changed

+28
-3
lines changed

1 file changed

+28
-3
lines changed

Tests/SwiftDriverTests/ExplicitModuleBuildTests.swift

+28-3
Original file line numberDiff line numberDiff line change
@@ -1817,8 +1817,33 @@ final class ExplicitModuleBuildTests: XCTestCase {
18171817
for scanIndex in 0..<numFiles {
18181818
let diagnostics = scanDiagnostics[scanIndex]
18191819
XCTAssertEqual(diagnostics.count, 2)
1820-
XCTAssertEqual(diagnostics[0].message, "Unable to find module dependency: 'UnknownModule\(scanIndex)'")
1821-
XCTAssertEqual(diagnostics[1].message, "a dependency of main module 'testParallelDependencyScanningDiagnostics\(scanIndex)'")
1820+
// Diagnostic source locations came after per-scan diagnostics, only meaningful
1821+
// on this test code-path
1822+
if try dependencyOracle.supportsDiagnosticSourceLocations() {
1823+
let sourceLoc = try XCTUnwrap(diagnostics[0].sourceLocation)
1824+
XCTAssertEqual(sourceLoc.lineNumber, 1)
1825+
XCTAssertEqual(sourceLoc.columnNumber, 8)
1826+
XCTAssertEqual(diagnostics[0].message,
1827+
"""
1828+
Unable to find module dependency: 'UnknownModule\(scanIndex)'
1829+
import UnknownModule\(scanIndex);
1830+
^
1831+
1832+
""")
1833+
let noteSourceLoc = try XCTUnwrap(diagnostics[1].sourceLocation)
1834+
XCTAssertEqual(noteSourceLoc.lineNumber, 1)
1835+
XCTAssertEqual(noteSourceLoc.columnNumber, 8)
1836+
XCTAssertEqual(diagnostics[1].message,
1837+
"""
1838+
a dependency of main module 'testParallelDependencyScanningDiagnostics\(scanIndex)'
1839+
import UnknownModule\(scanIndex);
1840+
^
1841+
1842+
""")
1843+
} else {
1844+
XCTAssertEqual(diagnostics[0].message, "Unable to find module dependency: 'UnknownModule\(scanIndex)'")
1845+
XCTAssertEqual(diagnostics[1].message, "a dependency of main module 'testParallelDependencyScanningDiagnostics\(scanIndex)'")
1846+
}
18221847
}
18231848
} else {
18241849
let globalDiagnostics = try dependencyOracle.getScannerDiagnostics()
@@ -2116,7 +2141,7 @@ final class ExplicitModuleBuildTests: XCTestCase {
21162141
}
21172142

21182143
func testTraceDependency() throws {
2119-
try withTemporaryDirectory { path in
2144+
try withTemporaryDirectory { path in
21202145
try localFileSystem.changeCurrentWorkingDirectory(to: path)
21212146
let moduleCachePath = path.appending(component: "ModuleCache")
21222147
try localFileSystem.createDirectory(moduleCachePath)

0 commit comments

Comments
 (0)