Why: a test that only checks the error case misses the extension reporting errors on correct code. engines.vscode claims ^1.82.0, but development only happens on the current VS Code, so the minimum is never tested.
What:
- Add
client/test-fixtures/passing/, and check that an empty onDiagnostics arrives. A timeout with no diagnostics doesn't count as passing.
- Run the integration tests on both
1.82.0 and stable, reading the minimum from engines.vscode. The passing fixture runs on every branch; the 1.82.0 run only on PRs and main, to keep branch pushes fast.
- Keep
@types/vscode at 1.82.x, so code can't use APIs newer than the minimum.
References:
Why: a test that only checks the error case misses the extension reporting errors on correct code.
engines.vscodeclaims^1.82.0, but development only happens on the current VS Code, so the minimum is never tested.What:
client/test-fixtures/passing/, and check that an emptyonDiagnosticsarrives. A timeout with no diagnostics doesn't count as passing.1.82.0andstable, reading the minimum fromengines.vscode. The passing fixture runs on every branch; the1.82.0run only on PRs andmain, to keep branch pushes fast.@types/vscodeat1.82.x, so code can't use APIs newer than the minimum.References:
package.json(semver.minVersion(pkg.engines.vscode)): https://github.com/microsoft/vscode-azureapicenter/blob/dev/.vscode-test.mjs