-
Notifications
You must be signed in to change notification settings - Fork 192
Comparing changes
Open a pull request
base repository: etr/libhttpserver
base: master
head repository: etr/libhttpserver
compare: feature/increase-test-coverage
- 11 commits
- 17 files changed
- 1 contributor
Commits on Jan 31, 2026
-
Add tests for untested HTTP methods and request/response getters
- Add HEAD, OPTIONS, TRACE method handlers to complete_test_resource - Add integration tests for HEAD, OPTIONS, TRACE HTTP methods - Add request_info_resource and test for get_requestor(), get_requestor_port(), get_version() - Add content_limit_suite to test content_too_large() with content_size_limit - Add unregister_then_404 test for webserver::unregister_resource() - Create http_response unit test file with tests for response code, headers, footers, and cookies These tests increase coverage for previously untested code paths in webserver.cpp, http_request.cpp, and http_response.cpp.
Configuration menu - View commit details
-
Copy full SHA for cac9e19 - Browse repository at this point
Copy the full SHA cac9e19View commit details -
Add additional coverage tests for networking and TLS features
- Add IPv6 and dual-stack webserver tests - Add HTTPS webserver and TLS session getter tests with graceful failure handling - Add bind_address_ipv4 test with runtime URL building - Add shoutcast response test for MHD_ICY_FLAG verification - Add string_response constructor tests - Remove CONNECT method test (incompatible with curl's tunneling semantics) Coverage improved from ~90% to 91.8% lines, 93.3% functions.
Configuration menu - View commit details
-
Copy full SHA for 67626d9 - Browse repository at this point
Copy the full SHA 67626d9View commit details -
Add print-summary to gcovr for coverage debugging
Add --print-summary flag to gcovr command in CI to help diagnose the discrepancy between local coverage (91.8%) and Codecov (64.53%).
Configuration menu - View commit details
-
Copy full SHA for 7efdb77 - Browse repository at this point
Copy the full SHA 7efdb77View commit details -
Filter gcovr to src/ directory only
The coverage report was including 15,781 lines from system headers and dependencies instead of just the ~1,500 lines of libhttpserver source. Use --filter to restrict coverage to src/ directory only.
Configuration menu - View commit details
-
Copy full SHA for 7e57077 - Browse repository at this point
Copy the full SHA 7e57077View commit details -
Add coverage tests for footers, PSK handlers, and ban/allow weights
- Add footer/trailer tests for http_request and http_response - Add PSK handler configuration tests (setup, empty handler, no handler) - Add ban/allow IP weight comparison tests for specific-then-wildcard case - Add auth skip path tests for root path and wildcards - Add IPv6 parsing edge case tests (too many parts, wildcards, nested) - Add http_endpoint invalid regex pattern test - Add custom error handler tests (not_found, method_not_allowed) - Add request info caching tests Branch coverage: 60.4% -> 64.2% (+65 branches) Line coverage: 91.8% -> 94.9%
Configuration menu - View commit details
-
Copy full SHA for 822ab69 - Browse repository at this point
Copy the full SHA 822ab69View commit details
Commits on Feb 1, 2026
-
Add Phase 2 branch coverage tests for http_request and http_endpoint
- Add null value query parameter test covering nullptr branches in build_request_args and build_request_querystring (lines 234, 248) - Add digested user caching tests for cache hit and nullptr branches (lines 293-295, 300) in http_request.cpp - Add caret prefix URL pattern tests covering line 85 in http_endpoint.cpp - Add consecutive slashes URL test covering empty parts handling (line 83) Branch coverage improvements: - http_endpoint.cpp: 66.9% -> 68.7% - http_request.cpp: 58.5% -> 59.7%
Configuration menu - View commit details
-
Copy full SHA for 5e230a1 - Browse repository at this point
Copy the full SHA 5e230a1View commit details
Commits on Feb 2, 2026
-
Add Phase 3 branch coverage tests for render methods and error handling
- Add tests for all HTTP methods falling through to base render() - Add custom internal error resource handler test - Add get_arg_flat fallback test - Add large multipart form field test (100KB) - Add file upload with explicit content-type header test - Add http_endpoint tests for regex validation and error paths - Add tests for invalid URL parameter formats
Configuration menu - View commit details
-
Copy full SHA for 2434473 - Browse repository at this point
Copy the full SHA 2434473View commit details -
Fix cpplint issues in test files
- Replace static global strings with function-static pattern - Change 'long' to 'int64_t' for http_code variables - Add missing #include <utility> for std::move
Configuration menu - View commit details
-
Copy full SHA for 3668ad1 - Browse repository at this point
Copy the full SHA 3668ad1View commit details
Commits on Feb 3, 2026
-
Configuration menu - View commit details
-
Copy full SHA for a4e514b - Browse repository at this point
Copy the full SHA a4e514bView commit details -
Fix Windows test failure and add hex utility coverage
- Fix file_upload tests to use subdirectory instead of /tmp for cross-platform compatibility - Extract hex validation functions (is_valid_hex, hex_char_to_val) from webserver.cpp to string_utilities for testability - Add unit tests for hex utility functions to improve coverage
Configuration menu - View commit details
-
Copy full SHA for 1f1071c - Browse repository at this point
Copy the full SHA 1f1071cView commit details -
Fix Windows mkdir compatibility issue
On Windows/MinGW, mkdir() only takes one argument (path), while POSIX mkdir() takes two (path and mode). Add a MKDIR macro that uses the appropriate signature for each platform.
Configuration menu - View commit details
-
Copy full SHA for 8da5133 - Browse repository at this point
Copy the full SHA 8da5133View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff master...feature/increase-test-coverage