Repository navigation
test: cover fragmented SSE framing and invalid UTF-8 - #24
Conversation
|
Thanks for picking this up and adding these focused cases! The source-contracts workflow now passes on your current commit. I found two test reliability points to address before merging:
For the split-CRLF case, could you also check whether the fixture makes the client receive the intended boundaries separately? Separate Thank you again — the changes are limited to the intended test file, and I look forward to reviewing the update. |
Aaqibhafeezkhan
left a comment
There was a problem hiding this comment.
Kept the SSE listener active through a bounded completion window, ensured timeout and success paths clean up correctly, and verified the CRLF test against observed response chunks.
erikleblansch
left a comment
There was a problem hiding this comment.
Thanks for the update. Reviewed ac3d477, including an independent technical review. The earlier points are addressed: the two-event listener remains active through a bounded quiet window and checks the full observed sequence; both success and timeout clear the timers and listener; and the CRLF fixture waits for each segment to be observed by the client before sending the next. The malformed UTF-8 case verifies closure without event emission.
The existing source-contracts run is now successful: https://github.com/VOLPAROSSA/volparossa-code/actions/runs/40426420911 (job 121944425077, Node v22.23.3, test merge e37cec0 against main 06271e4). All three new cases passed; the Node suite reports 363 passed, 0 failed, 1 skipped. Python suites report 7/169/10 tests, with 1/3/0 skipped, respectively, and no failures.
No blocking findings. A nonblocking follow-up would add per-test deadlines to the CRLF/invalid-UTF8 waits; currently a missing event or closure is bounded by the workflow's five-minute timeout. This approval covers the synthetic HTTP/SSE test changes only.
Summary
Testing
tests/opencode-client.test.cjs.Closes #23