A recent addition to kigadgets was geohash
. Non-identical boards have a <10^-80 or so chance of producing the same int. That was the missing piece needed for regression testing of behavior, not just test of import/run. The workflow introduced by lytest
has been indispensable for my team in managing procedural layout codebases, so I added kigadgets compatibility in lytest v0.1.0.
"kicad-python/tests/geometry" has examples of this workflow.
Plz help with adding test cases!
Tests should represent multiple perspectives of the user base, including those who don't normally dev for kigadgets
. These contributions would be super helpful ๐.
Comment below if you care deeply about particular features but aren't sure how to write the test, make a PR, etc. โ we can prioritize writing that test.
If your project will depend on some kigadgets function and there is a test of that function here, then kigadgets
effectively guarantees that it won't break that behavior for you (barring major version bump).
Also, now is a great time to start using the lytest/geohash workflow in your own project repos, even the private repos. This allows you to 1. Make behavioral stability guarantees to your users and 2. Immediately spot bugs in kigadgets
pre-releases that would affect your work.
$ git checkout alpha.xxx # in your kicad-python clone
$ pytest ../plugins/my-private-plugin/tests
[ FAIL ]
$ gh issue create --title "๐๏ธ it broke ๐ญ" \
--body "I am trying to ____. Reproduce the error with: <minimal breaking example>"
NB: That last line is just an example; I strongly recommend using the Github issue web interface