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 at 7.4% is the worst of the top-5 files. 37 GTEST cases across two test files exercise only a small fraction of the server-side state machine.
Why
HTTP/2 server is exposed to untrusted client input; untested branches = unverified defenses.
Many of the 7.4% uncovered branches are likely error-handling paths for malformed frames — exactly the code paths an attacker would probe.
Third-largest uncovered file.
Where
Source: src/protocols/http2/http2_server.cpp
Existing tests to extend: tests/unit/http2_server_test.cpp, tests/unit/http2_server_stream_test.cpp
Part of #953
What
Raise line coverage of
src/protocols/http2/http2_server.cppfrom 17.7% to >= 70%, and branch coverage from 7.4% to >= 60%.Current state (2026-04-17 measurement, source PR #989):
tests/unit/http2_server_test.cpp(177 LOC, 13 cases) +tests/unit/http2_server_stream_test.cpp(448 LOC, 24 cases)Branch coverage at 7.4% is the worst of the top-5 files. 37 GTEST cases across two test files exercise only a small fraction of the server-side state machine.
Why
Where
src/protocols/http2/http2_server.cpptests/unit/http2_server_test.cpp,tests/unit/http2_server_stream_test.cpptests/unit/http2_server_error_test.cpp(malformed frame handling, PROTOCOL_ERROR paths)How
Approach
tests/unit/http2_server_stream_test.cppalready uses this pattern.Acceptance Criteria
src/protocols/http2/http2_server.cppline coverage >= 70%src/protocols/http2/http2_server.cppbranch coverage >= 60%Dependencies