One thing I learned when working on REBOUND is that unit tests really help a lot in the long run. More than once I've changed something what I thought is trivial, but it ended up breaking all kind of things.
This pull requests adds a GitHub workflow which can run unit tests automatically whenever someone pushes a commit or opens a pull request. Right now there is just a trivial check in unit_tests/holman/ that compares the final x position of a short integration to what I get on my computer. We should add a couple of these test where we compare integrations to actual JPL output and require that they are identical to within some accuracy.
The workflow is downloading the DE440 and small body database from the JPL server every time. Although these are large files, it only takes a few seconds. I hope JPL doesn't mind.
One thing I learned when working on REBOUND is that unit tests really help a lot in the long run. More than once I've changed something what I thought is trivial, but it ended up breaking all kind of things.
This pull requests adds a GitHub workflow which can run unit tests automatically whenever someone pushes a commit or opens a pull request. Right now there is just a trivial check in
unit_tests/holman/
that compares the final x position of a short integration to what I get on my computer. We should add a couple of these test where we compare integrations to actual JPL output and require that they are identical to within some accuracy.The workflow is downloading the DE440 and small body database from the JPL server every time. Although these are large files, it only takes a few seconds. I hope JPL doesn't mind.