test(runner): close the two uncovered error branches
Both gaps were failure paths this PR added, and both are the kind that only run when something has already gone wrong — exactly where an untested branch hurts most. `failure_detail` reached DETAIL_UNAVAILABLE only when the snapshot itself cannot allocate, so a FailingAllocator is the only way in; the test also pins that a failed capture DEGRADES the line (name still leads) rather than replacing it. The compose guard against an over-long error name is a memory-safety boundary on a fixed buffer, so it is proven reachable with a deliberately long name instead of assumed unreachable. `child_supervisor_read` reached its malformed-activity branch only from a frame that will not parse. Driven through the public `readResult` rather than the private function, over a real pipe, asserting both halves of the contract: a counting sink proves the frame was DROPPED, and the result behind it still arrives, proving one bad frame cannot take the read loop down with it. kcov after: failure_detail 44/44, child_supervisor_read 61/61. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
K
Kishore Kumar committed
8767a902f151b206a5ab83df6194ff703e7148f1
Parent: b03ca6c