Repository navigation
test: fix two merge-queue flakes in Render and the VS Code extension - #2614
Merged
Merged
Conversation
A stand-in that answered and exited before the parent wrote its request made the write fail with a broken pipe, so the frame assertions failed at random in CI. The stand-in now consumes the length-prefixed request first, as a real worker does. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
…s on An edit made outside the editor reaches the language server only through a VS Code watcher event, which Linux runners occasionally drop. The test now rewrites the file until the extension host reports it, so a missing symbol means a delivered change was not indexed. A workspace configuration update also waits for the folder change to be saved, since VS Code refuses it while the workspace file is dirty. Signed-off-by: Jeremi Joslin <jeremi@joslin.fr>
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
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
Two integration tests failed at random in the merge queue while the v0.46.0 release PR was queued. Each passed in the PR's own CI run and failed once in the queue. Both causes are in the tests, not in the products.
framing_stand_inwrote a shell worker that printed its answer and exited without reading the request. When it exited before the parent wrote, the write failed with a broken pipe (render worker failed: Broken pipe (os error 32)) instead of reaching the frame assertion. The stand-in now reads the length-prefixed request before answering, as a real worker does. A worker that exits without reading its request still fails with a broken pipe, which is the intended product behavior.registry.yamloutside the editor and then expected the new workspace symbol (workspace symbol alpha-reloaded was not provided). That change reaches the language server only through a VS Code watcher event, which Linux runners occasionally drop; the three CI failures on record each used the whole 5 s wait, so a longer timeout would not help. The test now rewrites the file until the extension host reports it, and fails with a distinct message if no event arrives, so a missing symbol means a delivered change was not indexed.updateWorkspaceFolders(3, 3)returned before VS Code saved the workspace file, and the workspace-scoped configuration update that follows was refused while that file was dirty. It now awaits the existingchangeWorkspaceFoldershelper.Verification
worker::tests. Unforced stress loops did not reproduce on macOS (0 of 1480 before, 0 of 400 after).cargo test --locked -p registry-render --lib(172 passed), clippy with-D warnings, andcargo fmt --checkare clean.npm run check,npm run test:unit(57 passed), and the integration suite passed 30 of 30 runs, plus 10 of 10 with every CPU busy. Before the fix the workspace save race failed 1 of 10 local runs. The dropped watcher event did not reproduce on macOS, so that cause is inferred from the CI timings and the code path, not observed.