Skip to content

Commit a06fe3d

Browse files
authored
Merge pull request swiftlang#248 from benlangmuir/uniquely
[test] Make test URLs unique to avoid sourcekitd race
2 parents a61a285 + da632e5 commit a06fe3d

File tree

5 files changed

+27
-29
lines changed

5 files changed

+27
-29
lines changed

Tests/SourceKitTests/BuildSystemTests.swift

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ final class BuildSystemTests: XCTestCase {
115115
func testClangdDocumentUpdatedBuildSettings() {
116116
guard haveClangd else { return }
117117

118-
let url = URL(fileURLWithPath: "/file.m")
118+
let url = URL(fileURLWithPath: "/\(#function)/file.m")
119119
let args = [url.path, "-DDEBUG"]
120120
let text = """
121121
#ifdef FOO
@@ -164,7 +164,7 @@ final class BuildSystemTests: XCTestCase {
164164
}
165165

166166
func testSwiftDocumentUpdatedBuildSettings() {
167-
let url = URL(fileURLWithPath: "/a.swift")
167+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
168168
let args = FallbackBuildSystem().settings(for: DocumentURI(url), .swift)!.compilerArguments
169169

170170
buildSystem.buildSettingsByFile[DocumentURI(url)] =
@@ -220,7 +220,7 @@ final class BuildSystemTests: XCTestCase {
220220
}
221221

222222
func testSwiftDocumentBuildSettingsChangedFalseAlarm() {
223-
let url = URL(fileURLWithPath: "/a.swift")
223+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
224224

225225
sk.allowUnexpectedNotification = false
226226

Tests/SourceKitTests/DocumentColorTests.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ final class DocumentColorTests: XCTestCase {
4343
}
4444

4545
func performDocumentColorRequest(text: String) -> [ColorInformation] {
46-
let url = URL(fileURLWithPath: "/a.swift")
46+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
4747

4848
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
4949
uri: DocumentURI(url),
@@ -56,7 +56,7 @@ final class DocumentColorTests: XCTestCase {
5656
}
5757

5858
func performColorPresentationRequest(text: String, color: Color, range: Range<Position>) -> [ColorPresentation] {
59-
let url = URL(fileURLWithPath: "/a.swift")
59+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
6060

6161
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
6262
uri: DocumentURI(url),

Tests/SourceKitTests/DocumentSymbolTests.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ func initialize(capabilities: DocumentSymbolCapabilities) {
4646
}
4747

4848
func performDocumentSymbolRequest(text: String) -> DocumentSymbolResponse {
49-
let url = URL(fileURLWithPath: "/a.swift")
49+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
5050

5151
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
5252
uri: DocumentURI(url),

Tests/SourceKitTests/LocalSwiftTests.swift

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ final class LocalSwiftTests: XCTestCase {
5757
}
5858

5959
func testEditing() {
60-
let url = URL(fileURLWithPath: "/a.swift")
60+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
6161
let uri = DocumentURI(url)
6262

6363
sk.allowUnexpectedNotification = false
@@ -343,8 +343,8 @@ final class LocalSwiftTests: XCTestCase {
343343
}
344344

345345
func testCrossFileDiagnostics() {
346-
let urlA = URL(fileURLWithPath: "/a.swift")
347-
let urlB = URL(fileURLWithPath: "/b.swift")
346+
let urlA = URL(fileURLWithPath: "/\(#function)/a.swift")
347+
let urlB = URL(fileURLWithPath: "/\(#function)/b.swift")
348348
let uriA = DocumentURI(urlA)
349349
let uriB = DocumentURI(urlB)
350350

@@ -404,7 +404,7 @@ final class LocalSwiftTests: XCTestCase {
404404
}
405405

406406
func testDiagnosticsReopen() {
407-
let urlA = URL(fileURLWithPath: "/a.swift")
407+
let urlA = URL(fileURLWithPath: "/\(#function)/a.swift")
408408
let uriA = DocumentURI(urlA)
409409
sk.allowUnexpectedNotification = false
410410

@@ -454,7 +454,7 @@ final class LocalSwiftTests: XCTestCase {
454454
}
455455

456456
func testFixitsAreIncludedInPublishDiagnostics() {
457-
let url = URL(fileURLWithPath: "/a.swift")
457+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
458458
let uri = DocumentURI(url)
459459

460460
sk.allowUnexpectedNotification = false
@@ -488,7 +488,7 @@ final class LocalSwiftTests: XCTestCase {
488488
}
489489

490490
func testFixitsAreIncludedInPublishDiagnosticsNotes() {
491-
let url = URL(fileURLWithPath: "/a.swift")
491+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
492492
let uri = DocumentURI(url)
493493

494494
sk.allowUnexpectedNotification = false
@@ -541,7 +541,7 @@ final class LocalSwiftTests: XCTestCase {
541541
}
542542

543543
func testFixitInsert() {
544-
let url = URL(fileURLWithPath: "/a.swift")
544+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
545545
let uri = DocumentURI(url)
546546

547547
sk.allowUnexpectedNotification = false
@@ -581,7 +581,7 @@ final class LocalSwiftTests: XCTestCase {
581581
}
582582

583583
func testFixitsAreReturnedFromCodeActions() {
584-
let url = URL(fileURLWithPath: "/a.swift")
584+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
585585
let uri = DocumentURI(url)
586586

587587
var diagnostic: Diagnostic! = nil
@@ -635,7 +635,7 @@ final class LocalSwiftTests: XCTestCase {
635635
}
636636

637637
func testFixitsAreReturnedFromCodeActionsNotes() {
638-
let url = URL(fileURLWithPath: "/a.swift")
638+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
639639
let uri = DocumentURI(url)
640640

641641
var diagnostic: Diagnostic! = nil
@@ -690,7 +690,7 @@ final class LocalSwiftTests: XCTestCase {
690690
}
691691

692692
func testMuliEditFixitCodeActionPrimary() {
693-
let url = URL(fileURLWithPath: "/a.swift")
693+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
694694
let uri = DocumentURI(url)
695695

696696
var diagnostic: Diagnostic! = nil
@@ -733,8 +733,7 @@ final class LocalSwiftTests: XCTestCase {
733733
}
734734

735735
func testMuliEditFixitCodeActionNote() {
736-
#if os(macOS)
737-
let url = URL(fileURLWithPath: "/a.swift")
736+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
738737
let uri = DocumentURI(url)
739738

740739
var diagnostic: Diagnostic! = nil
@@ -779,7 +778,6 @@ final class LocalSwiftTests: XCTestCase {
779778
TextEdit(range: Position(line: 3, utf16index: 6)..<Position(line: 3, utf16index: 11), newText: ""),
780779
TextEdit(range: Position(line: 3, utf16index: 14)..<Position(line: 3, utf16index: 20), newText: "hotness"),
781780
])
782-
#endif
783781
}
784782

785783
func testXMLToMarkdownDeclaration() {
@@ -1036,7 +1034,7 @@ final class LocalSwiftTests: XCTestCase {
10361034
}
10371035

10381036
func testSymbolInfo() {
1039-
let url = URL(fileURLWithPath: "/a.swift")
1037+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
10401038
let uri = DocumentURI(url)
10411039

10421040
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
@@ -1109,7 +1107,7 @@ final class LocalSwiftTests: XCTestCase {
11091107
}
11101108

11111109
func testHover() {
1112-
let url = URL(fileURLWithPath: "/a.swift")
1110+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
11131111
let uri = DocumentURI(url)
11141112

11151113
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
@@ -1161,7 +1159,7 @@ final class LocalSwiftTests: XCTestCase {
11611159
}
11621160

11631161
func testHoverNameEscaping() {
1164-
let url = URL(fileURLWithPath: "/a.swift")
1162+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
11651163

11661164
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(
11671165
uri: DocumentURI(url),
@@ -1224,7 +1222,7 @@ final class LocalSwiftTests: XCTestCase {
12241222
}
12251223

12261224
func testDocumentSymbolHighlight() {
1227-
let url = URL(fileURLWithPath: "/a.swift")
1225+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
12281226
let uri = DocumentURI(url)
12291227

12301228
sk.send(DidOpenTextDocumentNotification(textDocument: TextDocumentItem(

Tests/SourceKitTests/SwiftCompletionTests.swift

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ final class SwiftCompletionTests: XCTestCase {
8080

8181
func testCompletion() {
8282
initializeServer()
83-
let url = URL(fileURLWithPath: "/a.swift")
83+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
8484
openDocument(url: url)
8585

8686
let selfDot = try! sk.sendSync(CompletionRequest(
@@ -129,7 +129,7 @@ final class SwiftCompletionTests: XCTestCase {
129129
capabilities.completionItem = CompletionCapabilities.CompletionItem(snippetSupport: true)
130130

131131
initializeServer(capabilities: capabilities)
132-
let url = URL(fileURLWithPath: "/a.swift")
132+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
133133
openDocument(url: url)
134134

135135
func getTestMethodCompletion(_ position: Position, label: String) -> CompletionItem? {
@@ -200,7 +200,7 @@ final class SwiftCompletionTests: XCTestCase {
200200

201201
func testCompletionPosition() {
202202
initializeServer()
203-
let url = URL(fileURLWithPath: "/a.swift")
203+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
204204
openDocument(text: "foo", url: url)
205205

206206
for col in 0 ... 3 {
@@ -224,7 +224,7 @@ final class SwiftCompletionTests: XCTestCase {
224224

225225
func testCompletionOptional() {
226226
initializeServer()
227-
let url = URL(fileURLWithPath: "/a.swift")
227+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
228228
let text = """
229229
struct Foo {
230230
let bar: Int
@@ -250,7 +250,7 @@ final class SwiftCompletionTests: XCTestCase {
250250

251251
func testCompletionOverride() {
252252
initializeServer()
253-
let url = URL(fileURLWithPath: "/a.swift")
253+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
254254
let text = """
255255
class Base {
256256
func foo() {}
@@ -275,7 +275,7 @@ final class SwiftCompletionTests: XCTestCase {
275275

276276
func testCompletionOverrideInNewLine() {
277277
initializeServer()
278-
let url = URL(fileURLWithPath: "/a.swift")
278+
let url = URL(fileURLWithPath: "/\(#function)/a.swift")
279279
let text = """
280280
class Base {
281281
func foo() {}

0 commit comments

Comments
 (0)