You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Branch coverage under 10% is especially alarming for an HTTP/2 client — most conditional paths (HPACK decode edge cases, stream state transitions, settings negotiation, GOAWAY handling) are unverified.
Why
HTTP/2 clients are consumed by pacs_system and messaging_system downstream; wire-level bugs propagate.
9.7% branch coverage means the implementation is almost entirely tested along a single happy path.
Second-largest uncovered implementation file in the project.
Part of #953
What
Raise line coverage of
src/protocols/http2/http2_client.cppfrom 18.6% to >= 70%, and branch coverage from 9.7% to >= 60%.Current state (2026-04-17 measurement, source PR #989):
tests/unit/http2_client_test.cpp— 316 LOC, 29 GTEST casesBranch coverage under 10% is especially alarming for an HTTP/2 client — most conditional paths (HPACK decode edge cases, stream state transitions, settings negotiation, GOAWAY handling) are unverified.
Why
pacs_systemandmessaging_systemdownstream; wire-level bugs propagate.Where
src/protocols/http2/http2_client.cppinclude/kcenon/network/protocols/http2/(verify exact path)tests/unit/http2_client_test.cpptests/unit/http2_client_frame_test.cpp,tests/unit/http2_client_error_test.cppHow
Approach
coverage_html/src/protocols/http2/http2_client.cpp.gcov.html) to identify dead blocks.Acceptance Criteria
src/protocols/http2/http2_client.cppline coverage >= 70%src/protocols/http2/http2_client.cppbranch coverage >= 60%tests/unit/http2_client_*.cppDependencies