Skip to content

Flake batch 3: generous waits for merge-queue timing flakes - #1047

Merged
ualtinok merged 2 commits into
mainfrom
land/flake-batch-3
Oct 27, 2026
Merged

ualtinok merged 2 commits into
mainfrom
land/flake-batch-3

Conversation

@aft-alfonso

@aft-alfonso aft-alfonso Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Test-only fixes for merge-queue flakes, batched so they land in one queue run.

  • lsp_diagnostics_test::move_file_reports_deleted_source_and_created_destination_for_config_file: moving a config file sends two asynchronous didChangeWatchedFiles notifications; the test waited 2 s for the second and failed on a loaded Linux runner (PR Worker edits stop building a formatter sandbox on every call #1035's group) with one received. It now waits up to 30 s; both event assertions are unchanged.
  • aft_search_contract_test::issue_826_trigram_footer_agrees_with_a_scan_answer (Windows, twice today): the search request itself started reloading the saved trigram cache; when that reload outlived the request's 250 ms wait on a loaded runner, the footer truthfully said trigram: building instead of the expected loading. The test now holds back query-triggered reloads with a test hook (it sets the existing reload cooldown) and asserts that the request started no load, so it always exercises the case it describes: a valid saved cache that is not resident. The exact footer assertion is unchanged; product behaviour is unchanged.

ualtinok and others added 2 commits October 27, 2026 13:35
lsp_diagnostics_test::move_file_reports_deleted_source_and_created_destination_for_config_file
waited 2 s for the second of two asynchronous didChangeWatchedFiles
notifications and failed on a loaded Linux runner with one received.
The assertions on both events are unchanged.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
…act test

issue_826_trigram_footer_agrees_with_a_scan_answer expects the footer
`trigram: loading (this answer read files directly, no index)`. Its search
request starts reloading the saved trigram cache
(SearchLaneStatus::recover_evicted_trigram ->
trigger_search_index_reload_if_evicted) and waits at most 250 ms for it.
On Linux and on an idle Windows runner the reload finishes and is installed
inside the request (the index is resident and ready afterwards), so the
footer relabels a ready-but-unused lane as `loading`. On a loaded CI runner
the reload can outlast the wait; the receiver is still installed when the
footer is written and it truthfully says `trigram: building`. That is a
test setup race, not a product bug: a reload really is in flight.

Add a hidden AppContext test hook that engages the existing query-reload
cooldown, call it in the test, and assert the request left no index or
receiver behind. The footer then always comes from the not-resident,
valid-header observation, and the exact footer assertion is kept.

Co-authored-by: alfonso-aft <289616620+alfonso-aft@users.noreply.github.com>
@ualtinok
ualtinok added this pull request to the merge queue Oct 27, 2026
Merged via the queue into main with commit b1468fc Oct 27, 2026
91 of 92 checks passed
@ualtinok
ualtinok deleted the land/flake-batch-3 branch October 27, 2026 16:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant