File openblas_tests.sh.in of Package openblas
#! /bin/bash
FLAVOR=@FLAVOR@
COMPILER=@COMPILER@
dir=@DIR@
testfailed=0
declare -a failed_test
failed() {
echo "$1 failed"
testfailed=1
failed_test+=("$1")
}
# Series 'test'
series_test() {
${dir}/sblat1 || failed sblat1
${dir}/dblat1 || failed dblat1
${dir}/cblat1 || failed cblat1
${dir}/zblat1 || failed zblat1
${dir}/sblat2 < ${dir}/sblat2.dat || echo failed sblat2
grep -q FATAL SBLAT2.SUMM && cat SBLAT2.SUMM || true
${dir}/dblat2 < ${dir}/dblat2.dat || failed dblat2
grep -q FATAL DBLAT2.SUMM && cat DBLAT2.SUMM || true
${dir}/cblat2 < ${dir}/cblat2.dat || echo failed cblat2
grep -q FATAL CBLAT2.SUMM && cat CBLAT2.SUMM || true
${dir}/zblat2 < ${dir}/zblat2.dat || echo failed zblat2
grep -q FATAL ZBLAT2.SUMM && cat ZBLAT2.SUMM || true
${dir}/test_sbgemm > SBBLAT3.SUMM || failed test_sbgemm
grep -q FATAL SBBLAT3.SUMM && cat SBBLAT3.SUMM || true
${dir}/dblat3 < ${dir}/dblat3.dat || failed dblat3
grep -q FATAL DBLAT3.SUMM && cat DBLAT3.SUMM || true
${dir}/cblat3 < ${dir}/cblat3.dat || failed cblat3
grep -q FATAL CBLAT3.SUMM && cat CBLAT3.SUMM || true
[ -x ${dir}/cblat3_3m ] && \
{ ${dir}/cblat3_3m < ${dir}/cblat3_3m.dat;
grep -q FATAL CBLAT3_3M.SUMM && cat CBLAT3_3M.SUMM || true; }
${dir}/zblat3 < ${dir}/zblat3.dat || failed zblat3;
grep -q FATAL ZBLAT3.SUMM && cat ZBLAT3.SUMM || true
[ -x ${dir}/zblat3_3m ] && \
{ ${dir}/zblat3_3m < ${dir}/zblat3_3m.dat || failed zblat3;
grep -q FATAL ZBLAT3_3M.SUMM && cat ZBLAT3_3M.SUMM || true; }
}
# Series 'ctest'
series_ctest() {
${dir}/xscblat1 || failed xscblat1
${dir}/xdcblat1 || failed sdcblat1
${dir}/xccblat1 || failed xccblat1
${dir}/xzcblat1 || failed xzcblat1
${dir}/xscblat2 < ${dir}/sin2 || failed xscblat2
${dir}/xdcblat2 < ${dir}/din2 || failed xdcblat2
${dir}/xccblat2 < ${dir}/cin2 || failed xccblat2
${dir}/xzcblat2 < ${dir}/zin2 || failed xzcblat2
${dir}/xscblat3 < ${dir}/sin3 || failed xscblat3
${dir}/xdcblat3 < ${dir}/din3 || failed xdcblat3
${dir}/xccblat3 < ${dir}/cin3 || failed xccblat3
${dir}/xzcblat3 < ${dir}/zin3 || failed xzcblat3
[ -x ${dir}/xccblat3_3m ] && { ${dir}/xccblat3_3m < ${dir}/cin3_3m || failed cin3_3m; };
[ -x ${dir}/xzcblat3_3m ] && { ${dir}/xzcblat3_3m < ${dir}/zin3_3m || failed zin3_3m; };
}
# Series 'utest'
series_utest() {
${dir}/openblas_utest || failed openblas_utest
${dir}/openblas_utest_ext || failed openblas_utest_ext
}
case $FLAVOR in
serial) export THREADS=false; export OMP=false ;;
pthreads) export THREADS=true; export OMP=false ;;
openmp) export THREADS=false; export OMP=true ;;
esac
OPENBLAS_NUM_THREADS=1 OMP_NUM_THREADS=1 series_test
if $OMP || $TREADS; then
rm -f ?BLAT2.SUMM ?BLAT3.SUMM ?BLAT3_3M.SUMM
if $OMP; then
OMP_NUM_THREADS=2 series_test
else
OPENBLAS_NUM_THREADS=2 series_test
fi
fi
if $OMP; then
OMP_NUM_THREADS=2 series_ctest
else
OPENBLAS_NUM_THREADS=2 series_ctest
fi
series_utest
if [ ${#failed_test[@]} -ne 0 ]; then
echo
echo "The following tests failed:"
for test in "${failed_test[@]}"; do
echo " - $test"
done
fi
exit $testfailed