Skip to content

Commit 783e165

Browse files
committed
Disable for <6.0
1 parent b89845b commit 783e165

File tree

2 files changed

+33
-37
lines changed

2 files changed

+33
-37
lines changed

test/integration-tests/DiagnosticsManager.test.ts

+16-25
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,7 @@ import {
3232
} from "./utilities/testutilities";
3333
import { DiagnosticStyle } from "../../src/configuration";
3434
import { expect } from "chai";
35-
import { touchDocument, waitForClientState } from "./utilities/lsputilities";
36-
import { LanguageClientManager } from "../../src/sourcekit-lsp/LanguageClientManager";
35+
import { touchDocument, waitForClientState, waitForIndex } from "./utilities/lsputilities";
3736

3837
const isEqual = (d1: vscode.Diagnostic, d2: vscode.Diagnostic) => {
3938
return (
@@ -1188,7 +1187,8 @@ suite("DiagnosticsManager Test Suite", function () {
11881187
});
11891188

11901189
suiteSetup(async function () {
1191-
if (workspaceContext.globalToolchainSwiftVersion.isLessThan(new Version(5, 9, 0))) {
1190+
if (workspaceContext.globalToolchainSwiftVersion.isLessThan(new Version(6, 0, 0))) {
1191+
// need to waitForIndex
11921192
this.skip();
11931193
return;
11941194
}
@@ -1201,16 +1201,19 @@ suite("DiagnosticsManager Test Suite", function () {
12011201
await vscode.commands.executeCommand(Workbench.ACTION_CLOSEALLEDITORS);
12021202
});
12031203

1204-
suite("swift", () => {
1205-
let clientManager: LanguageClientManager;
1204+
async function triggerFileDiagnostics(uri: vscode.Uri, folder: FolderContext) {
1205+
const clientManager = workspaceContext.languageClientManager.get(folder);
1206+
await waitForClientState(clientManager, langclient.State.Running);
1207+
await vscode.window.showTextDocument(uri);
1208+
await new Promise(r => setTimeout(r, 2000));
1209+
await touchDocument(clientManager, uri);
1210+
await waitForIndex(clientManager, folder.swiftVersion);
1211+
}
12061212

1213+
suite("swift", () => {
12071214
setup(async function () {
12081215
this.timeout(3 * 60 * 1000); // Allow 3 minutes to build
1209-
const folder = await buildProject(workspaceContext, "diagnostics", true);
1210-
// Ensure lsp client is ready
1211-
clientManager = workspaceContext.languageClientManager.get(folder);
1212-
await clientManager.restart();
1213-
await waitForClientState(clientManager, langclient.State.Running);
1216+
await buildProject(workspaceContext, "diagnostics", true);
12141217
});
12151218

12161219
test("Provides diagnostics", async () => {
@@ -1234,28 +1237,19 @@ suite("DiagnosticsManager Test Suite", function () {
12341237
);
12351238
expectedDiagnostic2.source = lspSource; // Set by LSP
12361239

1237-
// Open file
12381240
const promise = waitForDiagnostics({
12391241
[mainUri.fsPath]: [expectedDiagnostic1, expectedDiagnostic2],
12401242
});
1241-
await vscode.window.showTextDocument(mainUri);
1242-
await touchDocument(clientManager, mainUri);
1243-
12441243
// Retrigger diagnostics
1244+
await triggerFileDiagnostics(mainUri, folderContext);
12451245
await promise;
12461246
});
12471247
});
12481248

12491249
suite("clang", async () => {
1250-
let clientManager: LanguageClientManager;
1251-
12521250
setup(async function () {
12531251
this.timeout(3 * 60 * 1000); // Allow 3 minutes to build
1254-
const folder = await buildProject(workspaceContext, "diagnosticsC", true);
1255-
// Ensure lsp client is ready
1256-
clientManager = workspaceContext.languageClientManager.get(folder);
1257-
await clientManager.restart();
1258-
await waitForClientState(clientManager, langclient.State.Running);
1252+
await buildProject(workspaceContext, "diagnosticsC", true);
12591253
});
12601254

12611255
test("Provides diagnostics", async () => {
@@ -1275,14 +1269,11 @@ suite("DiagnosticsManager Test Suite", function () {
12751269
);
12761270
expectedDiagnostic2.source = "clang"; // Set by LSP
12771271

1278-
// Open file
12791272
const promise = waitForDiagnostics({
12801273
[cUri.fsPath]: [expectedDiagnostic1, expectedDiagnostic2],
12811274
});
1282-
await vscode.window.showTextDocument(cUri);
1283-
await touchDocument(clientManager, cUri);
1284-
12851275
// Retrigger diagnostics
1276+
await triggerFileDiagnostics(cUri, cFolderContext);
12861277
await promise;
12871278
});
12881279
});

test/integration-tests/language/LanguageClientIntegration.test.ts

+17-12
Original file line numberDiff line numberDiff line change
@@ -13,26 +13,30 @@
1313
//===----------------------------------------------------------------------===//
1414

1515
import * as vscode from "vscode";
16-
import * as langclient from "vscode-languageclient/node";
1716
import { expect } from "chai";
18-
import { LanguageClientManager } from "../../../src/sourcekit-lsp/LanguageClientManager";
1917
import { testAssetUri } from "../../fixtures";
2018
import { activateExtensionForSuite, buildProject } from "../utilities/testutilities";
19+
import { touchDocument, waitForIndex } from "../utilities/lsputilities";
20+
import { Version } from "../../../src/utilities/version";
21+
import { WorkspaceContext } from "../../../src/WorkspaceContext";
2122
import { FolderContext } from "../../../src/FolderContext";
22-
import { touchDocument, waitForClientState, waitForIndex } from "../utilities/lsputilities";
2323

2424
suite("Language Client Integration Suite @slow", function () {
2525
this.timeout(3 * 60 * 1000);
2626

27-
let clientManager: LanguageClientManager;
27+
let workspaceContext: WorkspaceContext;
2828
let folderContext: FolderContext;
2929

3030
activateExtensionForSuite({
3131
async setup(ctx) {
32-
folderContext = await buildProject(ctx, "defaultPackage");
33-
34-
// Ensure lsp client is ready
35-
clientManager = ctx.languageClientManager.get(folderContext);
32+
this.timeout(3 * 60 * 1000); // Allow 3 minutes to build
33+
workspaceContext = ctx;
34+
folderContext = await buildProject(workspaceContext, "defaultPackage");
35+
if (folderContext.swiftVersion.isLessThan(new Version(6, 0, 0))) {
36+
// need to waitForIndex
37+
this.skip();
38+
return;
39+
}
3640
},
3741
});
3842

@@ -45,12 +49,13 @@ suite("Language Client Integration Suite @slow", function () {
4549
// Position of the symbol 'a' in main.swift
4650
const position = new vscode.Position(2, 6);
4751

48-
setup(async () => {
49-
this.timeout(60 * 1000);
52+
suiteSetup(async function () {
5053
// Focus on the file of interest
54+
const clientManager = workspaceContext.languageClientManager.get(folderContext);
55+
await workspaceContext.focusFolder(null);
56+
await workspaceContext.focusFolder(folderContext);
5157
await vscode.window.showTextDocument(uri);
52-
await clientManager.restart();
53-
await waitForClientState(clientManager, langclient.State.Running);
58+
await new Promise(r => setTimeout(r, 2000));
5459
await touchDocument(clientManager, uri);
5560
await waitForIndex(clientManager, folderContext.swiftVersion);
5661
});

0 commit comments

Comments
 (0)