diff options
| author | Alexander Yastrebov <yastrebov.alex@gmail.com> | 2024-01-10 17:01:33 +0100 |
|---|---|---|
| committer | Gunnar Morling <gunnar.morling@googlemail.com> | 2024-01-10 17:53:13 +0100 |
| commit | af269e39fc59e7f09481978f42045c207efc3c31 (patch) | |
| tree | 79f21411b60858180dd30b30ecab75baf6c0031c /test.sh | |
| parent | 4df425fb9b2e4726c02057d79e2eb5511b7ae6fc (diff) | |
Update test*.sh to support input file pattern
This is useful for testing fork(s) against subset of test samples
Diffstat (limited to 'test.sh')
| -rwxr-xr-x | test.sh | 27 |
1 files changed, 20 insertions, 7 deletions
@@ -17,22 +17,35 @@ set -euo pipefail -if [ -z "$1" ]; then - echo "Usage: test.sh <fork name>" +DEFAULT_INPUT="src/test/resources/samples/*.txt" +FORK=${1:-""} +INPUT=${2:-$DEFAULT_INPUT} + +if [ "$#" -eq 0 ] || [ "$#" -gt 2 ] || [ "$FORK" = "-h" ]; then + echo "Usage: ./test.sh <fork name> [input file pattern]" + echo + echo "For each test sample matching <input file pattern> (default '$DEFAULT_INPUT')" + echo "runs <fork name> implementation and diffs the result with the expected output." + echo "Note that optional <input file pattern> should be quoted if contains wild cards." + echo + echo "Examples:" + echo "./test.sh baseline" + echo "./test.sh baseline src/test/resources/samples/measurements-1.txt" + echo "./test.sh baseline 'src/test/resources/samples/measurements-*.txt'" exit 1 fi -if [ -f "./prepare_$1.sh" ]; then - "./prepare_$1.sh" +if [ -f "./prepare_$FORK.sh" ]; then + "./prepare_$FORK.sh" fi -for sample in $(ls src/test/resources/samples/*.txt); do - echo "Validating calculate_average_$1.sh -- $sample" +for sample in $(ls $INPUT); do + echo "Validating calculate_average_$FORK.sh -- $sample" rm -f measurements.txt ln -s $sample measurements.txt - diff <("./calculate_average_$1.sh") ${sample%.txt}.out + diff <("./calculate_average_$FORK.sh") ${sample%.txt}.out done rm measurements.txt |
