Skip to content

Add unit tests for QUIC protocol suite (18+ modules) #982

Description

@kcenon

What

Add unit tests for the QUIC protocol suite. Currently 18+ QUIC modules have zero unit test coverage.

Part of #953

Why

  • QUIC is a user-facing protocol and core to the next-generation networking stack
  • Zero coverage blocks v1.0 readiness (see Prepare network_system for v1.0 release #964)
  • Other ecosystem libraries have 70%+ coverage — QUIC layer is a major gap

Where

Target modules (18+)

  • connection, crypto, flow_control, stream_manager
  • packet, frame, congestion_control, loss_recovery
  • transport_parameters, version_negotiation
  • quic_client, quic_server (core)
  • handshake, retry, 0-RTT
  • qlog, qpack (if present)

Run find sources -path '*quic*' -name '*.cpp' -not -path '*test*' to enumerate final list.

How

Technical Approach

  1. Create tests/unit/quic/ directory mirroring source layout
  2. For each source module, add GoogleTest-based unit test file
  3. Mock or stub external I/O (UDP sockets, TLS) — focus on pure logic
  4. Run under ASAN, TSAN, UBSAN

Acceptance Criteria

  • Every identified QUIC module has at least one dedicated unit test file
  • Line coverage for sources/**/quic/** >= 70% (codecov)
  • All tests pass on Ubuntu/macOS/Windows CI
  • ASAN/TSAN/UBSAN sanitizer builds pass
  • No GTEST_SKIP markers (except for optional deps)

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions