Two key source files are missing from the coverage report entirely:
src/client/client_cli.c — 336 lines (CLI parsing, argument validation, flag conflicts)
src/server/server.c — server main loop and request handling
This is likely because:
Coverage is collected from unit tests only (which don't run main())
Integration tests run the built binaries but aren't instrumented for coverage
Impact
CLI flag parsing bugs are not caught by tests
Flag conflict detection (e.g., -f with -c) is untested
The --version, --help paths are untested
Server request handling, connection limits, error responses are untested
Suggested fixes
Build with coverage instrumentation when running integration tests (-DENABLE_COVERAGE=ON + --coverage flag)
Add unit tests for client_cli by refactoring CLI parsing into testable functions (parse argv into Config, separate from main)
Add integration tests that exercise specific CLI flag combinations
Add tests for edge cases: missing args, invalid ports, conflicting flags, env var fallbacks
Add tests for server behavior: invalid requests, protocol errors, connection handling
Labels: testing, coverage, cli, server
Two key source files are **missing from the coverage report entirely**:
- `src/client/client_cli.c` — 336 lines (CLI parsing, argument validation, flag conflicts)
- `src/server/server.c` — server main loop and request handling
This is likely because:
1. Coverage is collected from unit tests only (which don't run main())
2. Integration tests run the built binaries but aren't instrumented for coverage
## Impact
- CLI flag parsing bugs are not caught by tests
- Flag conflict detection (e.g., -f with -c) is untested
- The `--version`, `--help` paths are untested
- Server request handling, connection limits, error responses are untested
## Suggested fixes
1. Build with coverage instrumentation when running integration tests (`-DENABLE_COVERAGE=ON` + `--coverage` flag)
2. Add unit tests for client_cli by refactoring CLI parsing into testable functions (parse argv into Config, separate from main)
3. Add integration tests that exercise specific CLI flag combinations
4. Add tests for edge cases: missing args, invalid ports, conflicting flags, env var fallbacks
5. Add tests for server behavior: invalid requests, protocol errors, connection handling
**Labels**: testing, coverage, cli, server
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Two key source files are missing from the coverage report entirely:
src/client/client_cli.c— 336 lines (CLI parsing, argument validation, flag conflicts)src/server/server.c— server main loop and request handlingThis is likely because:
Impact
--version,--helppaths are untestedSuggested fixes
-DENABLE_COVERAGE=ON+--coverageflag)Labels: testing, coverage, cli, server