Skip to content

Commit ff729cd

Browse files
committed
Change main file tests to define sources inline
The tests are structured quite differently now but I think the new, smaller test cases cover all the interesting cases from the old test.
1 parent 9cd33a6 commit ff729cd

File tree

12 files changed

+192
-177
lines changed

12 files changed

+192
-177
lines changed

Sources/SKTestSupport/INPUTS/MainFiles/a.swift

Lines changed: 0 additions & 4 deletions
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/b.swift

Lines changed: 0 additions & 4 deletions
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/bridging.h

Lines changed: 0 additions & 1 deletion
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/c.cpp

Lines changed: 0 additions & 7 deletions
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/d.cpp

Lines changed: 0 additions & 7 deletions
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/project.json

Lines changed: 0 additions & 25 deletions
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/shared.h

Lines changed: 0 additions & 1 deletion
This file was deleted.

Sources/SKTestSupport/INPUTS/MainFiles/unique.h

Lines changed: 0 additions & 9 deletions
This file was deleted.

Sources/SKTestSupport/MultiFileTestWorkspace.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,11 +113,13 @@ public class MultiFileTestWorkspace {
113113
/// Opens the document with the given file name in the SourceKit-LSP server.
114114
///
115115
/// - Returns: The URI for the opened document and the positions of the location markers.
116-
public func openDocument(_ fileName: String) throws -> (uri: DocumentURI, positions: DocumentPositions) {
116+
public func openDocument(_ fileName: String, language: Language? = nil) throws -> (
117+
uri: DocumentURI, positions: DocumentPositions
118+
) {
117119
guard let fileData = self.fileData[fileName] else {
118120
throw Error.fileNotFound
119121
}
120-
let positions = testClient.openDocument(fileData.markedText, uri: fileData.uri)
122+
let positions = testClient.openDocument(fileData.markedText, uri: fileData.uri, language: language)
121123
return (fileData.uri, positions)
122124
}
123125

Sources/SKTestSupport/SwiftPMTestWorkspace.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,8 @@ public class SwiftPMTestWorkspace: MultiFileTestWorkspace {
7878
"-Xswiftc", "-index-ignore-system-modules",
7979
"-Xcc", "-index-ignore-system-symbols",
8080
]
81-
try await Process.checkNonZeroExit(arguments: arguments)
81+
var environment = ProcessEnv.vars
82+
environment["SWIFTPM_ENABLE_CLANG_INDEX_STORE"] = "1"
83+
try await Process.checkNonZeroExit(arguments: arguments, environment: environment)
8284
}
8385
}

Tests/SourceKitLSPTests/BuildSystemTests.swift

Lines changed: 0 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -265,54 +265,4 @@ final class BuildSystemTests: XCTestCase {
265265
let refreshedDiags = try await testClient.nextDiagnosticsNotification()
266266
XCTAssertEqual(refreshedDiags.diagnostics.count, 2)
267267
}
268-
269-
func testMainFilesChanged() async throws {
270-
let ws = try await mutableSourceKitTibsTestWorkspace(name: "MainFiles")!
271-
let unique_h = ws.testLoc("unique").docIdentifier.uri
272-
273-
try ws.openDocument(unique_h.fileURL!, language: .cpp)
274-
275-
let openDiags = try await ws.testClient.nextDiagnosticsNotification()
276-
XCTAssertEqual(openDiags.diagnostics.count, 0)
277-
278-
try ws.buildAndIndex()
279-
let diagsFromD = try await ws.testClient.nextDiagnosticsNotification()
280-
XCTAssertEqual(diagsFromD.diagnostics.count, 1)
281-
let diagFromD = try XCTUnwrap(diagsFromD.diagnostics.first)
282-
XCTAssertEqual(diagFromD.severity, .warning)
283-
XCTAssertEqual(diagFromD.message, "UNIQUE_INCLUDED_FROM_D")
284-
285-
try ws.edit(rebuild: true) { (changes, _) in
286-
changes.write(
287-
"""
288-
// empty
289-
""",
290-
to: ws.testLoc("d_func").url
291-
)
292-
changes.write(
293-
"""
294-
#include "unique.h"
295-
""",
296-
to: ws.testLoc("c_func").url
297-
)
298-
}
299-
300-
var receivedCorrectDiagnostic = false
301-
for _ in 0..<Int(defaultTimeout) {
302-
let diagsFromC = try await ws.testClient.nextDiagnosticsNotification(timeout: 1)
303-
guard diagsFromC.diagnostics.count == 1, let diagFromC = diagsFromC.diagnostics.first else {
304-
continue
305-
}
306-
guard diagFromC.severity == .warning, diagFromC.message == "UNIQUE_INCLUDED_FROM_C" else {
307-
continue
308-
}
309-
receivedCorrectDiagnostic = true
310-
break
311-
}
312-
XCTAssert(receivedCorrectDiagnostic)
313-
}
314-
315-
private func clangBuildSettings(for uri: DocumentURI) -> FileBuildSettings {
316-
return FileBuildSettings(compilerArguments: [uri.pseudoPath, "-DDEBUG"])
317-
}
318268
}

0 commit comments

Comments
 (0)