test(vscode): wait for expected diagnostics in fixAll E2E setups - #25
Merged
Conversation
Since @rslint/core 0.8.1 (web-infra-dev/rslint#1790), a file created after its project was loaded is served by a type-info-less fallback Program until a watcher event admits it into the configured project, so the first non-empty publish may carry only non-type-aware rules on platforms with slow file watchers (macOS). The fixAll suites create their targets through withTmpFile and asserted on that first non-empty publish, which now fails. Setup waits go through a new waitForDiagnosticsWithMessages helper that waits until the expected diagnostics are present — the terminal assertion is unchanged and holds on both 0.8.0 and 0.8.1. The lint fixture floor moves to ^0.8.1 to match what CI resolves.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
@rslint/core0.8.1: since perf: optimize LSP TypeScript project selection web-infra-dev/rslint#1790, a file created after its project was loaded is served by a type-info-less fallback Program until a watcher event admits it into the configured project. The first non-empty diagnostics publish can therefore carry only non-type-aware rules on platforms with slow file watchers (macOS) — and the fixAll suites, which create their targets viawithTmpFile, asserted on exactly that first publish. Linux/Windows close the admission window before the first publish, which is why only macOS was red.waitForDiagnosticsWithMessageshelper (documented deviation from the upstream suites) that waits until the expected diagnostics are present. The terminal assertions are unchanged and hold on both 0.8.0 and 0.8.1.^0.8.1to match what CI resolves.Verified locally on macOS against 0.8.1: all 10 lint E2E suites pass;
pnpm lint && pnpm test:unitgreen.Related Links
N/A
Checklist