mirror of
https://github.com/cosinekitty/astronomy.git
synced 2026-01-06 14:38:07 -05:00
I refactored the unit tests for all the demo programs to follow a different pattern that makes it simpler to add more demo tests in the future. The main thing is that correct output and generated output are now in separate directories `correct` and `test`. I have moved the test scripts from `test/test` to `./demotest` in all the langauge demo directories. This makes it simpler to clean up any stale generated files before each test run by `rm -f test/*.txt`. I stumbled across this while making the Java demo tests, and it was a better solution, so now all the other languages are consistent with the Java demo tests. In the C demo tests, I also decided to compile all the binary executables into a subdirectory `bin` that can be cleaned out before each run, to make sure there are no stale executables from an earlier run.
25 lines
490 B
Bash
Executable File
25 lines
490 B
Bash
Executable File
#!/bin/bash
|
|
Fail()
|
|
{
|
|
echo "FATAL($0): $1"
|
|
exit 1
|
|
}
|
|
|
|
if [[ "$1" == "debug" ]]; then
|
|
BUILDOPT='-g -O0'
|
|
elif [[ -z "$1" ]]; then
|
|
BUILDOPT='-O3'
|
|
else
|
|
Fail "unrecognized command line option"
|
|
fi
|
|
|
|
mkdir -p bin
|
|
for name in linux_riseset ; do
|
|
rm -r bin/${name}
|
|
echo "Compiling ${name}.c"
|
|
gcc ${BUILDOPT} -Wall -Werror -o bin/${name} -I../../source/c ../../source/c/astronomy.c astro_demo_common.c ${name}.c -lm ||
|
|
Fail "Error building ${name}.c"
|
|
done
|
|
|
|
exit 0
|