A few first steps towards ensuring RangeShifter still builds and produces correct output as time passes and we work on it.
Every time a change is pushed to this repo, this workflow (check.yml):
builds RangeShifter on Linux, in DEBUG mode, using g++
runs a few simulations with the built software, using input files from the user manual's Example 4
compare the output of the simulations to a set of output files produced by a previous run (with the same -debug- seed) and asserts that they match completely.
Intended future extensions:
Build on a range of OS, compilers and C++ standards
Repeat the simulation + comparison test for different input settings, beyond those covered in Example 4. Maybe consider running with a random seed as well.
Not a part of this GitHub Actions workflow per se, but unit tests that run every time RangeShifter is built in Debug mode would be an essential complement to the comparison test.
Side note: I removed the "press any key to exit" feature to enable the program to exit without requiring a user with a keyboard. Was there any reason to want to keep the program running after simulation completion/finding an error?
Fixed:
9
A few first steps towards ensuring RangeShifter still builds and produces correct output as time passes and we work on it. Every time a change is pushed to this repo, this workflow (
check.yml
):Intended future extensions:
Side note: I removed the "press any key to exit" feature to enable the program to exit without requiring a user with a keyboard. Was there any reason to want to keep the program running after simulation completion/finding an error?