#!/bin/sh if test x"$srcdir" != x""; then builddir="." # running from make check, but it does not define that else srcdir=`echo "$0" | sed s,[^/]*$,,` test "$srcdir" = "$0" && srcdir=. test -z "$srcdir" && srcdir=. builddir="$srcdir" # running manually, have to assume fi srcdir=`cd $srcdir;pwd` builddir=`cd $builddir;pwd` testfile="$srcdir/tests" if [ $# -ge 1 ]; then testfile="$1"; fi dirs=`awk -F '#' '{print $1}' $testfile` basedir=`head -n 1 $testfile | awk '{print $2}'` cd $srcdir; if [ ! -d $basedir ]; then cd ..; if [ ! -d $basedir ]; then exit 77; fi # for make distcheck fi basedir=`cd $basedir;pwd` cd $builddir error=0 a52dec="../src/a52dec"; if [ ! -x $a52dec ]; then if [ -x ../vc++/Release/a52dec.exe ]; then a52dec="../vc++/Release/a52dec.exe" basedir=`echo "$basedir" | sed "s,/cygdrive/\(.\)/,\1:/,"` elif [ -x ../vc++/Debug/a52dec.exe ]; then a52dec="../vc++/Debug/a52dec.exe" basedir=`echo "$basedir" | sed "s,/cygdrive/\(.\)/,\1:/,"` else echo "Can not find a52dec executable"; exit 1 fi fi for dir in $dirs; do echo $dir $a52dec -co float $basedir/$dir/stream >/dev/null 2>&1 >output.float ./compare output.float $basedir/$dir/output.float || error=1 rm -f output.float done exit $error