Repository navigation
test: the streaming QUERY e2e reads the speak frame, not the newest frame - #398
Conversation
…rame The relay-chain tests read the satellite's answer from the return value of Recorder.wait_for, which is the newest matching record. When the stream finishes before the woken waiter reads the recorder, that record is the hive.query.complete frame, and the test fails with KeyError: 'utterance'. The tests now wait until a received frame carries an utterance and assert the spoken text, so the read no longer depends on frame timing. The async test asserts its text too, where it checked only that a frame existed. Under a 4-process CPU load, 48 runs of the two relay tests passed with 0 failures. On dev, 1 failure in 24 runs under the same load. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 19 minutes. View limit details
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 |
I've gathered some intelligence on your latest changes. 🕵️♀️I've aggregated the results of the automated checks for this PR below. 🔍 LintThe automated sentinel is back with news. 💂♂️ ❌ ruff: issues found in 108 file(s) — see job log 🏷️ Release PreviewI've checked the 'Security Updates' section. 🛡️ Current:
✅ PR title follows conventional commit format. 🚀 Release Channel Compatibility Predicted next version:
⚖️ License CheckMaking sure we're playing by the open-source rules. 🎲 ✅ No license violations found. Policy: Apache 2.0 (universal donor). StrongCopyleft / NetworkCopyleft / WeakCopyleft / Other / Error categories fail. MPL allowed. 🔒 Security (pip-audit)Ensuring our data is safe and secure. 🔐 ✅ No known vulnerabilities found (87 packages scanned). 📋 Repo HealthEvaluating the repository's overall condition. 📋 ✅ All required files present. Latest Version: ✅ 📊 CoverageThe coverage report is now available for inspection. 📋 ❌ 36.0% total coverage Per-file coverage (9 files)
Full report: download the 🔨 Build TestsRunning the forge to see if the code tempers correctly. 🔥 ✅ All versions pass
Automating the path to a better future 🌈 |
Two relay-chain tests in
tests/e2e/test_query_streaming_e2e.pyfail intermittently withKeyError: 'utterance'. They read the answer from the return value of hivescopeRecorder.wait_for, which returns the newest matching record. When the stream ends before the woken waiter reads the recorder, that record is thehive.query.completeframe, not a speak chunk. Load widens the window. A review measured 5 failures in 80 runs on dev.The tests now wait until a received QUERY frame carries an utterance, read from
recorder.received(...), and assert the spoken text. The async test now asserts its text as well, where it checked only that a frame arrived. No source file changes.Under a load of four CPU-bound processes, 48 runs of the two relay tests gave 0 failures. The same load on dev gave 1 failure in 24 runs. That sample is small, so the review's 5 in 80 on dev is the better baseline. The full suite gives 674 passed and 3 skipped, equal to dev.
🤖 Generated with Claude Code