Skip to content

Make LSP backpressure cancellation test deterministic - #4804

Merged
Widthdom merged 2 commits into
mainfrom
fix-issue4785
Jul 24, 2026
Merged

Make LSP backpressure cancellation test deterministic#4804
Widthdom merged 2 commits into
mainfrom
fix-issue4785

Conversation

@Widthdom

Copy link
Copy Markdown
Owner

Summary

  • Stage the LSP cancellation frame until the active symbol request and backpressured response write are both observed.
  • Hold the symbol request at a cancellation-aware synchronization boundary instead of a fixed five-second delay.
  • Document the deterministic test contract in both English and Japanese and add the issue changelog fragment.

Root cause

The active workspace-symbol test hook and queued cancellation each relied on the same fixed timing window. Under full-suite load, the hook could finish before the cancellation was processed, producing a successful response where the test expected a cancellation error.

Validation

  • dotnet run --project tools/CodeIndex.Changelog -- check
  • dotnet build CodeIndex.sln -c Release --no-restore -p:UseSharedCompilation=false
  • Targeted Release test on net8.0 and net9.0
  • Targeted Release net8.0 test repeated in 20 independent processes
  • Full Release net8.0 suite: 10,233 passed, 7 skipped, 0 failed
  • Full LspServerTests suite during Codex adversarial review: 103 passed on each of net8.0 and net9.0
  • Codex adversarial review: no blocking/actionable issues found

Documentation and changelog

  • Updated both language sections of TESTING_GUIDE.md.
  • Added changelog.d/unreleased/4785.internal.md.

Follow-up candidates

None.

Fixes #4785

@Widthdom
Widthdom marked this pull request as ready for review July 24, 2026 15:23
@Widthdom
Widthdom merged commit 9f9058e into main Jul 24, 2026
11 checks passed
@Widthdom
Widthdom deleted the fix-issue4785 branch July 24, 2026 15:23
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.

Make LSP server-busy backpressure cancellation test deterministic under suite load

1 participant