Verification

Equivalence testing

Every commit is compared against Java FastQC reference output across 18 test cases covering all CLI flag combinations. The report shows text diffs with word highlighting, pixel-level image comparison, and side-by-side SVG previews.

View the latest equivalence report

What is tested

What is different

Text output is identical. Some non-text outputs differ because the rendering stack is different:

None of this affects analysis results. fastqc_data.txt and summary.txt are byte-identical.

CI integration

The comparison runs on every commit and pull request via GitHub Actions. If any strict file differs from reference after patching, the build fails. The HTML report is uploaded as a build artifact on every run (pass or fail) so reviewers can inspect differences visually.

Running locally

cargo build --release
uv run tests/equivalence/compare.py --binary ./target/release/fastqc

Writes the report to tests/equivalence/reports/equivalence_report.html.