test(cursor): stabilize stream-health watchdog timing - #3930
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Team Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 9 remain after this review. 📝 WalkthroughWalkthroughThe Cursor stream health tests now derive deadlines from CI watchdog helpers. They add first-text observation, fixture-limit cleanup, scaled heartbeat timing, and progress-span assertions. ChangesCursor stream health tests
Estimated code review effort: 3 (Moderate) | ~20 minutes Merge Risk: ⚪ Minimal · up to Cursor stream-health tests now use CI-scaled deadlines, bounded fixture completion, and first-text progress tracking to reduce timing flakiness without changing production behavior. Suggested reviewers: 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
✅ Deterministic PR hygiene checks passed. |
✅ READY
Review readiness checklist
✅ 4/4 boxes ticked. This pull request is already Ready for Review. |
|
@coderabbitai review |
✅ Action performedReview finished.
|
4b24e3c to
141077f
Compare
리뷰 · 우선순위 52 / 80이 PR은 제품 코드가 아니라 Cursor 스트림 헬스 워치독 테스트가 로드된 macOS 러너에서 침묵/heartbeat-only 시계가 서로 이겨 버리던 flake를 고칩니다. 지금 로컬에서는 라인 tests/providers/cursor/cursor-stream-health.test.ts silenceMs/heartbeatOnlyMs/progressDurationMs - 시계를 한 번의 메인테이너의 판단이 필요한 지점
너의 추천 이 댓글은 grok-bot이 작성했습니다 |
…or stream-health watchdog (#3940) Preserve captured stdout and stderr when a test lane times out. Bound post-exit pipe draining to one second and report incomplete capture as a failure when the child otherwise exited successfully. Scale the Cursor stream-health fixture deadlines from one load-adjusted budget and verify meaningful progress continues for the required interval after the client receives its first text. Carries #3924 and #3930 without changes to their files. The branch commits retain the original author and cherry-pick provenance from: e241632 141077f Co-authored-by: luvs01 <27862058+luvs01@users.noreply.github.com>
|
Landed on Your commit It landed as the tip of a two-layer stack over #3924, so one CI run covered both: run 34152136978, all 16 applicable jobs green, including both macOS lanes that surfaced the original flake. Your own contributor run on Closing as superseded by that verified landing. The part worth noting for later: scaling the three budgets from one value keeps their ordering intact under the CI floor, and asserting the progress span actually completed is what turns this from a longer timeout into a real check. |
Summary
The macOS control hit the 400ms silence watchdog in two Cursor stream-health fixtures, while both cases passed in another macOS lane on the same head. The positive progress fixture also ended after about 900ms against a 10-second heartbeat-only limit, so it could not detect a missing progress-clock refresh.
Use one load-adjusted scale
Sfor the silence deadline,2Sfor heartbeat-only failure, and at least3Sof meaningful progress after the client receives its first text. Scaling once preserves the ordering when the existing helper applies its CI floor. Keep frequent heartbeat traffic and give each producer a bounded completion path, including write failure cleanup.The change is confined to one existing test file and its private drain helper.
Verification
Current head
141077f7270e2f2a0564fb036d091f0cf793b784, rebased ontodev2abf071e0a3e765195ea2997b962171c87151f06. Tree:cedc011fa2e59476077219022b97f5bd7b6f0831. The local results below were obtained on4b24e3c228bd56c0ababf2bdc3e0884654e0d7e3; the rebase leaves the fixture, production transport, package manifest and lockfile unchanged.bun run test:changed --timeout 60000: 5 passed across the selected test file with Bun 1.4.0 on Windows. Its full-suite profile exercised 16-second heartbeat-only and 24-second progress intervals; the selection completed in 43.8 seconds.bun run typecheck,bun run privacy:scan, andgit diff --check: passed.Original-head full CI completed successfully with 26/26 jobs. Full CI on the rebased head also completed successfully with 26/26 jobs. CodeRabbit reported no actionable findings on the original head; the PR file is unchanged by the rebase and there are no unresolved review threads. This does not claim a second completed CodeRabbit run on the new commit.
Checklist
Review readiness checklist
Summary by CodeRabbit