This package contains HTTP/1.1 compliance and hardening tests for package:shelf and future implementations.
It uses the Http11Probe tool (vendored as a git submodule) to validate the server's behavior against RFC requirements and common edge cases.
You can view the current compliance report for package:shelf here:
The tests are defined in test/compliance_test.dart. For each test category (e.g., Compliance, Smuggling, MalformedInput):
bin/shelf_echo.dart) on a dynamic port.Http11Probe CLI tool against that port.reports/[name]/[category].json.shelf_summary.md).You need the .NET 10 SDK installed to run these tests.
To run the full suite:
dart test
If you intentionally change behavior and need to update the baseline:
const _updateGoldens = true; in test/compliance_test.dart.dart test. It will update the JSON and Markdown files and fail the test at the end to remind you to turn it off._updateGoldens = false and commit the new goldens.bin/: Echo server implementations (the “dut” or device under test).reports/: Golden JSON reports per category.test/: The test runner harness.tool/: Scripts to post-process JSON reports into Markdown.