Skip to content

Add native KiCad test corpus - #397

Merged
Cimos merged 1 commit into
mainfrom
native-kicad-corpus
Oct 3, 2026
Merged

Cimos merged 1 commit into
mainfrom
native-kicad-corpus

Conversation

@Cimos

@Cimos Cimos commented Oct 3, 2026

Copy link
Copy Markdown
Owner

Phase 0, PR 2 of the native KiCad plan. Test data and tooling only; no runtime crates change.

  • Mad_RP2040 boards (corpus/native/kicad/mad_rp2040/{old,new}): Mad_RP2040.kicad_pcb at tags v0.0.0 and v0.0.1, MIT, saved by KiCad 9. All 13 files in each bundled demo pack are byte-identical, apart from dates, to the PCBWay pack in the matching Mad_RP2040 release, so these boards are the demo's true sources and the demo packs serve as their KiCad 9 reference export.
  • KiCad 7 fixtures (fixtures/kicad7/): eight tiny boards, one behaviour each (track + arc, pad shapes, via spans, filled zone, unfilled zone, stroke text, renamed layer, bottom-side footprint). Reduced from the test_pads_inside_pads demo in Ubuntu's kicad-demos 7.0.11 (GPL-2+, test fixtures only, like corpus/pdf), and loaded and exported by kicad-cli 7.0.11. Reference exports are in oracles/.
  • manifest.toml records path, hash, source, commit, licence, how each file was produced, header version, purpose, reference export and expected record counts. tools/test_manifest.py checks it; tools/export_oracle.sh regenerates reference exports.
  • KiCad 6, 8 and 10 stay as explicit pending slots: no fixture claims a producer that did not write it.

All ten files parse with the etchy-kicad parser from #396 (the 4 MB board in about 94 ms).

CI wiring for the manifest checker is a one-line follow-up.

Refs #122

Mad_RP2040 board files at v0.0.0 and v0.0.1 (MIT, KiCad 9), proven to be the sources of the demo packs; eight single-behaviour KiCad 7 fixtures reduced from a KiCad demo board (GPL-2+, test only) with kicad-cli 7.0.11 reference exports; a provenance manifest with a checker; explicit pending slots for KiCad 6, 8 and 10. Refs #122
@Cimos
Cimos merged commit f58e7d9 into main Oct 3, 2026
4 checks passed
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