Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: etr/libhttpserver
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: etr/libhttpserver
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: feature/increase-test-coverage
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 11 commits
  • 17 files changed
  • 1 contributor

Commits on Jan 31, 2026

  1. 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.
    etr committed Jan 31, 2026
    Configuration menu
    Copy the full SHA
    cac9e19 View commit details
    Browse the repository at this point in the history
  2. 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.
    etr committed Jan 31, 2026
    Configuration menu
    Copy the full SHA
    67626d9 View commit details
    Browse the repository at this point in the history
  3. 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%).
    etr committed Jan 31, 2026
    Configuration menu
    Copy the full SHA
    7efdb77 View commit details
    Browse the repository at this point in the history
  4. 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.
    etr committed Jan 31, 2026
    Configuration menu
    Copy the full SHA
    7e57077 View commit details
    Browse the repository at this point in the history
  5. 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%
    etr committed Jan 31, 2026
    Configuration menu
    Copy the full SHA
    822ab69 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2026

  1. 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%
    etr committed Feb 1, 2026
    Configuration menu
    Copy the full SHA
    5e230a1 View commit details
    Browse the repository at this point in the history

Commits on Feb 2, 2026

  1. 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
    etr committed Feb 2, 2026
    Configuration menu
    Copy the full SHA
    2434473 View commit details
    Browse the repository at this point in the history
  2. 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
    etr committed Feb 2, 2026
    Configuration menu
    Copy the full SHA
    3668ad1 View commit details
    Browse the repository at this point in the history

Commits on Feb 3, 2026

  1. Added PSK tests

    etr committed Feb 3, 2026
    Configuration menu
    Copy the full SHA
    a4e514b View commit details
    Browse the repository at this point in the history
  2. 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
    etr committed Feb 3, 2026
    Configuration menu
    Copy the full SHA
    1f1071c View commit details
    Browse the repository at this point in the history
  3. 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.
    etr committed Feb 3, 2026
    Configuration menu
    Copy the full SHA
    8da5133 View commit details
    Browse the repository at this point in the history
Loading