Skip to content

Stabilize window frame compatibility test - #1153

Merged
AArnott merged 1 commit into
mainfrom
aarnott-fix-window-frame-compat-test
Aug 11, 2026
Merged

AArnott merged 1 commit into
mainfrom
aarnott-fix-window-frame-compat-test

Conversation

@AArnott

@AArnott AArnott commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • replace the fixed 200 ms delay with synchronization on the relay observing a dropped window frame
  • ensure the receiver starts draining only after the sender has actually exhausted its window

Root cause

TransferSucceeds_WhenWindowFramesAreDropped assumed its background writer would exhaust the channel window within 200 ms. Under load in the Windows .NET Framework test run, the writer could start late; once the receiver began reading, it kept up on the zero-latency pipe and no growth request was emitted. The final non-vacuous assertion then failed.

This is unrelated to #1148, which only changes TypeScript ESLint dependencies. The same test and assertion also failed on main in workflow run https://github.com/dotnet/Nerdbank.Streams/actions/runs/30677694206.

Validation

  • affected test passes on net8.0 and net472
  • affected test passes 20 consecutive net472 runs

Wait for the relay to observe a dropped window frame before allowing the receiver to drain the channel, replacing a timing-dependent delay.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@AArnott
AArnott added this pull request to the merge queue Aug 11, 2026
Merged via the queue into main with commit 17305ee Aug 11, 2026
8 checks passed
@AArnott
AArnott deleted the aarnott-fix-window-frame-compat-test branch August 11, 2026 01:37
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