aboutsummaryrefslogtreecommitdiff
path: root/test.sh
diff options
context:
space:
mode:
authorAlexander Yastrebov <yastrebov.alex@gmail.com>2024-01-10 17:01:33 +0100
committerGunnar Morling <gunnar.morling@googlemail.com>2024-01-10 17:53:13 +0100
commitaf269e39fc59e7f09481978f42045c207efc3c31 (patch)
tree79f21411b60858180dd30b30ecab75baf6c0031c /test.sh
parent4df425fb9b2e4726c02057d79e2eb5511b7ae6fc (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-xtest.sh27
1 files changed, 20 insertions, 7 deletions
diff --git a/test.sh b/test.sh
index 1eb25b1..c45ca75 100755
--- a/test.sh
+++ b/test.sh
@@ -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