Skip to content

Compatibility: establish baseline and track third_party/tests pass rate #48

@unclesp1d3r

Description

@unclesp1d3r

Summary

Establish a compatibility test baseline using the GNU file test corpus in `third_party/tests/` and track progress toward the 95% pass rate target.

Context

The test corpus contains 81 test cases (testfile + expected result pairs). Current pass rate with `--use-builtin` is 0% (all tests fail). The compatibility test exists but is `#[ignore]`d and requires the system magic database, not just built-in rules.

Current Results (built-in rules only)

  • 0 passed, 81 failed
  • 76 tests return "data" (no matching rule)
  • 5 tests detect the container format but miss subtypes (ZIP detected but not DOCX/XLSX)

Test Categories Failing

Category Count Example
Binary formats (no rule) ~45 RPM, Zstandard, PGP, UF2, xclbin
Text formats (no rule) ~15 JSON, PNM, shell scripts, GEDCOM
Audio formats ~5 MP3, DSD, AMR
ZIP subtypes ~5 DOCX, XLSX, HWP, Keyman
Custom magic tests ~4 regex-eol, searchbug, multiple
Filesystem images ~3 ext4, bcachefs

Acceptance Criteria

  • Un-ignore the compatibility test and make it runnable in CI
  • Test runs against system text magic files (not just built-in rules)
  • CI tracks pass/fail count per run
  • Baseline documented (current: 0/81)
  • Target: 77/81 (95%) by v1.0

Blocked By

This issue will show progress as the following are implemented:

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    compatibilitylibmagic compatibility and migrationenhancementNew feature or requestpriority:normalStandard work itemtestingTest infrastructure and coverage

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions