2024-01-04 15:24:27 +01:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# Copyright 2023 The original authors
|
|
|
|
#
|
|
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
# you may not use this file except in compliance with the License.
|
|
|
|
# You may obtain a copy of the License at
|
|
|
|
#
|
|
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
#
|
|
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
# See the License for the specific language governing permissions and
|
|
|
|
# limitations under the License.
|
|
|
|
#
|
|
|
|
|
2024-01-04 20:36:20 +01:00
|
|
|
set -euo pipefail
|
2024-01-04 15:24:27 +01:00
|
|
|
|
2024-01-10 17:01:33 +01:00
|
|
|
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'"
|
2024-01-04 20:36:20 +01:00
|
|
|
exit 1
|
|
|
|
fi
|
2024-01-04 15:24:27 +01:00
|
|
|
|
2024-01-10 17:01:33 +01:00
|
|
|
if [ -f "./prepare_$FORK.sh" ]; then
|
|
|
|
"./prepare_$FORK.sh"
|
2024-01-10 03:44:22 +01:00
|
|
|
fi
|
|
|
|
|
2024-01-10 17:01:33 +01:00
|
|
|
for sample in $(ls $INPUT); do
|
|
|
|
echo "Validating calculate_average_$FORK.sh -- $sample"
|
2024-01-04 20:36:20 +01:00
|
|
|
|
2024-01-04 15:24:27 +01:00
|
|
|
rm -f measurements.txt
|
|
|
|
ln -s $sample measurements.txt
|
|
|
|
|
2024-01-13 12:19:29 +01:00
|
|
|
diff <("./calculate_average_$FORK.sh" | ./tocsv.sh) <(./tocsv.sh < ${sample%.txt}.out)
|
2024-01-04 15:24:27 +01:00
|
|
|
done
|
2024-01-10 03:44:22 +01:00
|
|
|
|
2024-01-04 15:24:27 +01:00
|
|
|
rm measurements.txt
|