Skip to content

Commit cfe3e60

Browse files
DavidGoldmanbenlangmuir
authored andcommitted
Better use of XCTest for code complete regression test
1 parent 1667eea commit cfe3e60

File tree

1 file changed

+8
-10
lines changed

1 file changed

+8
-10
lines changed

Tests/SourceKitTests/SwiftCompletionTests.swift

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -575,37 +575,35 @@ final class SwiftCompletionTests: XCTestCase {
575575
textDocument: TextDocumentIdentifier(url),
576576
position: Position(line: 8, utf16index: 12), // prin^
577577
context:CompletionContext(triggerKind: .invoked))
578-
let coordinationGroup = DispatchGroup()
579578

580579
// Code completion for "self.forSome"
581-
coordinationGroup.enter()
580+
let forSomeExpectation = XCTestExpectation(description: "self.forSome code completion")
582581
_ = sk.send(forSomeComplete) { result in
583-
defer { coordinationGroup.leave() }
582+
defer { forSomeExpectation.fulfill() }
584583
guard let list = result.success else {
585584
XCTFail("Request failed: \(String(describing: result.failure))")
586585
return
587586
}
588-
XCTAssert(countFs(list) == 2)
587+
XCTAssertEqual(2, countFs(list))
589588
}
590589

591590
// Code completion for "self.prin", previously could immediately invalidate
592591
// the previous request.
593-
coordinationGroup.enter()
592+
let printExpectation = XCTestExpectation(description: "self.prin code completion")
594593
_ = sk.send(printComplete) { result in
595-
defer { coordinationGroup.leave() }
594+
defer { printExpectation.fulfill() }
596595
guard let list = result.success else {
597596
XCTFail("Request failed: \(String(describing: result.failure))")
598597
return
599598
}
600-
XCTAssertEqual(list.items.count, 1)
599+
XCTAssertEqual(1, list.items.count)
601600
}
602601

603-
// Wait for the previous 2 completions to finish.
604-
coordinationGroup.wait()
602+
wait(for: [forSomeExpectation, printExpectation], timeout: 10)
605603

606604
// Try code completion for "self.forSome" again to verify that it still works.
607605
let result = try sk.sendSync(forSomeComplete)
608-
XCTAssert(countFs(result) == 2)
606+
XCTAssertEqual(2, countFs(result))
609607
}
610608
}
611609

0 commit comments

Comments
 (0)