Skip to content

Add informational HTTP::XSHeaders compatibility CI job#223

Open
oalders wants to merge 2 commits into
masterfrom
http-message-xsheaders
Open

Add informational HTTP::XSHeaders compatibility CI job#223
oalders wants to merge 2 commits into
masterfrom
http-message-xsheaders

Conversation

@oalders

@oalders oalders commented Jun 4, 2026

Copy link
Copy Markdown
Member

Summary

Adds a test_xsheaders CI job that runs the existing HTTP::Message test suite against HTTP::XSHeaders to verify API compatibility, as requested in p5pclub/http-xsheaders#13.

  • Pinned to a single recent Perl (5.42) as a fast compatibility canary.
  • Installs HTTP::XSHeaders, then runs prove -lr t with PERL5OPT=-MHTTP::XSHeaders. Loading the module transparently swaps in its C implementation of HTTP::Headers, so the suite exercises the XS code path.
  • Marked continue-on-error: trueinformational only, so any incompatibilities surface in the logs without blocking the build.

Notes

  • The suite includes headers-util.t, but HTTP::XSHeaders only overrides HTTP::Headers/HTTP::Headers::Fast (not HTTP::Headers::Util), so those tests run against the pure-Perl util module as before.
  • The real value is reading the job logs after the first run to see which (if any) assertions diverge under the XS implementation.

🤖 Generated with Claude Code

@codecov

codecov Bot commented Jun 4, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.57%. Comparing base (b0cb2f0) to head (845dc4e).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #223   +/-   ##
=======================================
  Coverage   94.57%   94.57%           
=======================================
  Files          10       10           
  Lines        1254     1254           
  Branches      350      350           
=======================================
  Hits         1186     1186           
  Misses         14       14           
  Partials       54       54           

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Adds a test_xsheaders CI job (Perl 5.42) that installs HTTP::XSHeaders and
runs the full test suite with PERL5OPT=-MHTTP::XSHeaders, so the suite
exercises the XS implementation of HTTP::Headers. Marked continue-on-error
so incompatibilities surface without blocking the build.

See p5pclub/http-xsheaders#13.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@oalders oalders force-pushed the http-message-xsheaders branch 2 times, most recently from 5313c6a to 25aeb02 Compare June 5, 2026 04:10
…iffs

The multi-line as_string() comparisons previously used is(), which on
failure dumps both full blobs and leaves whitespace differences (tabs vs
folded spaces, header-name casing) nearly invisible. eq_or_diff() renders
a line-by-line diff that isolates the differing lines, which is
especially useful for triaging the informational HTTP::XSHeaders compat
job.

Test::Differences is added as a test prerequisite.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@oalders oalders force-pushed the http-message-xsheaders branch from 25aeb02 to 845dc4e Compare June 5, 2026 04:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant