Skip to content

Commit a1aa268

Browse files
committed
Fix failing tests
1 parent 91260d2 commit a1aa268

File tree

3 files changed

+80
-82
lines changed

3 files changed

+80
-82
lines changed

assets/test/.vscode/settings.json

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,5 @@
88
"-DTEST_ARGUMENT_SET_VIA_TEST_BUILD_ARGUMENTS_SETTING"
99
],
1010
"lldb.verboseLogging": true,
11-
"swift.backgroundCompilation": false,
12-
"swift.diagnosticsStyle": "llvm",
13-
"swift.diagnosticsCollection": "onlySwiftc"
11+
"swift.backgroundCompilation": false
1412
}

src/DiagnosticsManager.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ export class DiagnosticsManager implements vscode.Disposable {
5959

6060
private diagnosticCollection: vscode.DiagnosticCollection =
6161
vscode.languages.createDiagnosticCollection("swift");
62-
private allDiagnostics: Map<string, vscode.Diagnostic[]> = new Map();
62+
allDiagnostics: Map<string, vscode.Diagnostic[]> = new Map();
6363
private disposed = false;
6464

6565
constructor(context: WorkspaceContext) {

test/integration-tests/DiagnosticsManager.test.ts

+78-78
Original file line numberDiff line numberDiff line change
@@ -849,19 +849,12 @@ suite("DiagnosticsManager Test Suite", function () {
849849
});
850850

851851
test("clean old swiftc diagnostics", async () => {
852-
const swiftConfig = vscode.workspace.getConfiguration("swift");
853-
// Add initial swiftc diagnostics
854-
await swiftConfig.update("diagnosticsCollection", "keepAll");
855-
workspaceContext.diagnostics.handleDiagnostics(
856-
mainUri,
857-
DiagnosticsManager.isSwiftc,
858-
[swiftcErrorDiagnostic, swiftcWarningDiagnostic]
859-
);
860-
assertHasDiagnostic(mainUri, swiftcErrorDiagnostic);
861-
assertHasDiagnostic(mainUri, swiftcWarningDiagnostic);
852+
workspaceContext.diagnostics.allDiagnostics.set(mainUri.fsPath, [
853+
swiftcErrorDiagnostic,
854+
swiftcWarningDiagnostic,
855+
]);
862856

863857
// Now change to onlySourceKit and provide identical SourceKit diagnostic
864-
await swiftConfig.update("diagnosticsCollection", "onlySourceKit");
865858
workspaceContext.diagnostics.handleDiagnostics(
866859
mainUri,
867860
DiagnosticsManager.isSourcekit,
@@ -919,19 +912,13 @@ suite("DiagnosticsManager Test Suite", function () {
919912
});
920913

921914
test("clean old SourceKit diagnostics", async () => {
922-
const swiftConfig = vscode.workspace.getConfiguration("swift");
923915
// Add initial SourceKit diagnostics
924-
await swiftConfig.update("diagnosticsCollection", "keepAll");
925-
workspaceContext.diagnostics.handleDiagnostics(
926-
mainUri,
927-
DiagnosticsManager.isSourcekit,
928-
[sourcekitErrorDiagnostic, sourcekitWarningDiagnostic]
929-
);
930-
assertHasDiagnostic(mainUri, sourcekitErrorDiagnostic);
931-
assertHasDiagnostic(mainUri, sourcekitWarningDiagnostic);
916+
workspaceContext.diagnostics.allDiagnostics.set(mainUri.fsPath, [
917+
sourcekitErrorDiagnostic,
918+
sourcekitWarningDiagnostic,
919+
]);
932920

933921
// Now change to onlySwiftc and provide identical swiftc diagnostic
934-
await swiftConfig.update("diagnosticsCollection", "onlySwiftc");
935922
workspaceContext.diagnostics.handleDiagnostics(
936923
mainUri,
937924
DiagnosticsManager.isSwiftc,
@@ -946,69 +933,82 @@ suite("DiagnosticsManager Test Suite", function () {
946933
});
947934
});
948935

949-
test("SourceKit removes swiftc diagnostic (SourceKit shows first)", async () => {
950-
// Add initial diagnostics
951-
workspaceContext.diagnostics.handleDiagnostics(
952-
mainUri,
953-
DiagnosticsManager.isSourcekit,
954-
[sourcekitErrorDiagnostic, sourcekitWarningDiagnostic]
955-
);
956-
workspaceContext.diagnostics.handleDiagnostics(mainUri, DiagnosticsManager.isSwiftc, [
957-
swiftcErrorDiagnostic,
958-
]);
959-
960-
// Have SourceKit indicate some have been fixed
961-
workspaceContext.diagnostics.handleDiagnostics(
962-
mainUri,
963-
DiagnosticsManager.isSourcekit,
964-
[sourcekitWarningDiagnostic]
965-
);
936+
suite("cleanup", () => {
937+
suiteSetup(async function () {
938+
return await updateSettings({
939+
"swift.diagnosticsCollection": undefined,
940+
});
941+
});
966942

967-
// check cleaned up stale error
968-
assertWithoutDiagnostic(mainUri, swiftcErrorDiagnostic);
969-
assertWithoutDiagnostic(mainUri, sourcekitErrorDiagnostic);
970-
assertHasDiagnostic(mainUri, sourcekitWarningDiagnostic);
971-
});
943+
test("SourceKit removes swiftc diagnostic (SourceKit shows first)", async () => {
944+
// Add initial diagnostics
945+
workspaceContext.diagnostics.handleDiagnostics(
946+
mainUri,
947+
DiagnosticsManager.isSourcekit,
948+
[sourcekitErrorDiagnostic, sourcekitWarningDiagnostic]
949+
);
950+
workspaceContext.diagnostics.handleDiagnostics(
951+
mainUri,
952+
DiagnosticsManager.isSwiftc,
953+
[swiftcErrorDiagnostic]
954+
);
972955

973-
test("SourceKit removes swiftc diagnostic (swiftc shows first)", async () => {
974-
// Add initial diagnostics
975-
workspaceContext.diagnostics.handleDiagnostics(mainUri, DiagnosticsManager.isSwiftc, [
976-
swiftcErrorDiagnostic,
977-
swiftcWarningDiagnostic,
978-
]);
979-
workspaceContext.diagnostics.handleDiagnostics(
980-
mainUri,
981-
DiagnosticsManager.isSourcekit,
982-
[sourcekitErrorDiagnostic]
983-
);
956+
// Have SourceKit indicate some have been fixed
957+
workspaceContext.diagnostics.handleDiagnostics(
958+
mainUri,
959+
DiagnosticsManager.isSourcekit,
960+
[sourcekitWarningDiagnostic]
961+
);
984962

985-
// Have SourceKit indicate has been fixed
986-
workspaceContext.diagnostics.handleDiagnostics(
987-
mainUri,
988-
DiagnosticsManager.isSourcekit,
989-
[]
990-
);
963+
// check cleaned up stale error
964+
assertWithoutDiagnostic(mainUri, swiftcErrorDiagnostic);
965+
assertWithoutDiagnostic(mainUri, sourcekitErrorDiagnostic);
966+
assertHasDiagnostic(mainUri, sourcekitWarningDiagnostic);
967+
});
991968

992-
// check cleaned up stale error
993-
assertWithoutDiagnostic(mainUri, swiftcErrorDiagnostic);
994-
assertWithoutDiagnostic(mainUri, sourcekitErrorDiagnostic);
995-
assertHasDiagnostic(mainUri, swiftcWarningDiagnostic);
996-
});
969+
test("SourceKit removes swiftc diagnostic (swiftc shows first)", async () => {
970+
// Add initial diagnostics
971+
workspaceContext.diagnostics.handleDiagnostics(
972+
mainUri,
973+
DiagnosticsManager.isSwiftc,
974+
[swiftcErrorDiagnostic, swiftcWarningDiagnostic]
975+
);
976+
workspaceContext.diagnostics.handleDiagnostics(
977+
mainUri,
978+
DiagnosticsManager.isSourcekit,
979+
[sourcekitErrorDiagnostic]
980+
);
981+
982+
// Have SourceKit indicate has been fixed
983+
workspaceContext.diagnostics.handleDiagnostics(
984+
mainUri,
985+
DiagnosticsManager.isSourcekit,
986+
[]
987+
);
997988

998-
test("don't remove swiftc diagnostics when SourceKit never matched", async () => {
999-
workspaceContext.diagnostics.handleDiagnostics(mainUri, DiagnosticsManager.isSwiftc, [
1000-
swiftcErrorDiagnostic,
1001-
]);
989+
// check cleaned up stale error
990+
assertWithoutDiagnostic(mainUri, swiftcErrorDiagnostic);
991+
assertWithoutDiagnostic(mainUri, sourcekitErrorDiagnostic);
992+
assertHasDiagnostic(mainUri, swiftcWarningDiagnostic);
993+
});
1002994

1003-
workspaceContext.diagnostics.handleDiagnostics(
1004-
mainUri,
1005-
DiagnosticsManager.isSourcekit,
1006-
[sourcekitWarningDiagnostic]
1007-
);
995+
test("don't remove swiftc diagnostics when SourceKit never matched", async () => {
996+
workspaceContext.diagnostics.handleDiagnostics(
997+
mainUri,
998+
DiagnosticsManager.isSwiftc,
999+
[swiftcErrorDiagnostic]
1000+
);
10081001

1009-
// Should not have cleaned up swiftc error
1010-
assertHasDiagnostic(mainUri, swiftcErrorDiagnostic);
1011-
assertHasDiagnostic(mainUri, sourcekitWarningDiagnostic);
1002+
workspaceContext.diagnostics.handleDiagnostics(
1003+
mainUri,
1004+
DiagnosticsManager.isSourcekit,
1005+
[sourcekitWarningDiagnostic]
1006+
);
1007+
1008+
// Should not have cleaned up swiftc error
1009+
assertHasDiagnostic(mainUri, swiftcErrorDiagnostic);
1010+
assertHasDiagnostic(mainUri, sourcekitWarningDiagnostic);
1011+
});
10121012
});
10131013
});
10141014

@@ -1022,7 +1022,7 @@ suite("DiagnosticsManager Test Suite", function () {
10221022
workspaceContext.diagnostics.clear();
10231023
workspaceContext.focusFolder(null);
10241024
return await updateSettings({
1025-
diagnosticsCollection: "onlySourceKit", // So waitForDiagnostics only resolves from LSP
1025+
"swift.diagnosticsCollection": "onlySourceKit", // So waitForDiagnostics only resolves from LSP
10261026
});
10271027
});
10281028

0 commit comments

Comments
 (0)