BASH
61
test exec
Guest on 8th May 2022 07:36:37 AM
#! /bin/sh
TESTS="test-smat sh_reg_sim sh_reg_opt sh_reg_count sh_reg_view \
sh_reg_plot sh_random"
TMPDIR=${TMP-/tmp}/smat$$; rm -rf $TMPDIR; mkdir $TMPDIR || exit 1
trap 'rm -rf $TMPDIR' 0 1 2 15
sh_reg_sim () {
./test-readlog < test-reg.log | ./smatsim -vt > $TMPDIR/out || return 1
cmp $TMPDIR/out ans-reg-sim.txt || return 1
return 0
}
sh_reg_opt () {
./test-readlog < test-reg.log | ./smatopt \
| ./smatview > $TMPDIR/out || return 1
cmp $TMPDIR/out ans-reg-opt.txt || return 1
return 0
}
sh_reg_count () {
./test-readlog < test-reg.log | ./smatcount -v > $TMPDIR/out || return 1
cmp $TMPDIR/out ans-reg-count.txt || return 1
return 0
}
sh_reg_view () {
./test-readlog < test-reg.log | ./smatview -v > $TMPDIR/out || return 1
cmp $TMPDIR/out test-reg.log || return 1
return 0
}
sh_reg_plot () {
./test-readlog < test-reg.log | ./smatplot -a > $TMPDIR/out || return 1
cmp $TMPDIR/out ans-reg-plot.txt || return 1
return 0
}
sh_random () {
./test-random > $TMPDIR/out || return 1
cmp $TMPDIR/out ans-random.txt || return 1
return 0
}
failed=0; all=0; for tst in $TESTS; do
if test -f ./$tst; then tst=./$tst; fi
if $tst > /dev/null; then all=`expr $all + 1`; echo "PASS: $tst";
elif test $? -ne 77; then all=`expr $all + 1`; failed=`expr $failed + 1`;
echo "FAIL: $tst"; fi;
done;
if test "$failed" -eq 0; then banner="All $all tests passed";
else banner="$failed of $all tests failed"; fi;
dashes=`echo "$banner" | sed s/./=/g`;
echo "$dashes"; echo "$banner"; echo "$dashes"; test "$failed" -eq 0