diff options
| author | Alexander Yastrebov <yastrebov.alex@gmail.com> | 2024-01-04 20:36:20 +0100 |
|---|---|---|
| committer | Gunnar Morling <gunnar.morling@googlemail.com> | 2024-01-04 21:16:18 +0100 |
| commit | 8124a0ca0822834f413e1f7f664b8d5899aadb3e (patch) | |
| tree | d657d2ed88676280022f87cd495d001443d199ee | |
| parent | 74a774e47d46dd8bf33c8ed13a0bc73a5a4f7cdb (diff) | |
test: add script to test all implementations
The script tests all implementations and prints PASS or FAIL status.
In case of failure it also prints implementation output to stderr.
This will be handy for adding new test samples.
Show test statuses and omit failing output:
```sh
$ ./test_all.sh 2>/dev/null
PASS artsiomkorzun
PASS baseline
PASS bjhara
PASS criccomini
FAIL ddimtirov
FAIL ebarlas
PASS filiphr
FAIL itaske
PASS khmarbaise
FAIL kuduwa-keshavram
FAIL lawrey
PASS padreati
FAIL palmr
PASS richardstartin
FAIL royvanrijn
FAIL seijikun
PASS spullara
PASS truelive
```
Show only passing implementations:
```
$ ./test_all.sh 2>/dev/null | grep PASS | cut -d' ' -f2
artsiomkorzun
baseline
bjhara
criccomini
filiphr
khmarbaise
padreati
richardstartin
spullara
truelive
```
For #61
| -rwxr-xr-x[-rw-r--r--] | calculate_average_ddimtirov.sh | 0 | ||||
| -rwxr-xr-x | test.sh | 17 | ||||
| -rwxr-xr-x | test_all.sh | 30 |
3 files changed, 37 insertions, 10 deletions
diff --git a/calculate_average_ddimtirov.sh b/calculate_average_ddimtirov.sh index 94a1981..94a1981 100644..100755 --- a/calculate_average_ddimtirov.sh +++ b/calculate_average_ddimtirov.sh @@ -15,19 +15,16 @@ # limitations under the License. # -if [ -z "$1" ] - then - echo "Usage: test.sh <fork name>" - exit 1 -fi - -java --version +set -euo pipefail -mvn clean verify +if [ -z "$1" ]; then + echo "Usage: test.sh <fork name>" + exit 1 +fi -for sample in $(ls src/test/resources/samples/*.txt) -do +for sample in $(ls src/test/resources/samples/*.txt); do echo "Validating calculate_average_$1.sh -- $sample" + rm -f measurements.txt ln -s $sample measurements.txt diff --git a/test_all.sh b/test_all.sh new file mode 100755 index 0000000..e1141d7 --- /dev/null +++ b/test_all.sh @@ -0,0 +1,30 @@ +#!/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. +# + +set -euo pipefail + +for impl in $(ls calculate_average_*.sh | sort); do + noext="${impl%%.sh}" + name=${noext##calculate_average_} + + if output=$(./test.sh "$name" 2>&1); then + echo "PASS $name" + else + echo "FAIL $name" + echo "$output" 1>&2 + fi +done |
