Skip to content

Contributing Regression Fixtures

Benchmark and regression fixtures live under tests/fixtures/benchmark_projects/. They make bugs reproducible and keep fixed behavior fixed.

Fixture Policy

  • Add a minimal KiCad project for every user-facing regression when possible.
  • Keep projects small and remove proprietary data.
  • Prefer descriptive names such as fail_dirty_transfer_wrong_pad_nets.
  • Include only files needed to reproduce the behavior.
  • Add a test that fails without the fix and passes with it.

Privacy Checklist

  • No customer board names.
  • No internal part numbers unless they are public.
  • No secrets, tokens, or private URLs.
  • No generated manufacturing package unless the test requires it.

Test Placement

Use unit tests for pure helpers, integration tests for file-backed tool behavior, and e2e tests for workflow-level regressions.