forked from Imagelibrary/rtems
116 lines
1.8 KiB
Plaintext
116 lines
1.8 KiB
Plaintext
#!KSHELL -p
|
|
#
|
|
# Check test results against official output from the src tree
|
|
#
|
|
# $Id$
|
|
#
|
|
|
|
# XXX: do not run size.exe with this; it asks questions we don't answer
|
|
|
|
# how to do arith in bash
|
|
# i=$((i * 2))
|
|
# b=$((b + 1))
|
|
|
|
# progname=`basename $0`
|
|
progname=${0##*/} # fast basename hack for ksh, bash
|
|
|
|
USAGE=\
|
|
"usage: $progname [ -opts ] test [ test ... ]
|
|
-v -- verbose
|
|
-l logdir -- specify log directory (default is 'logdir')
|
|
"
|
|
|
|
# log an error to stderr
|
|
prerr()
|
|
{
|
|
echo "$*" >&2
|
|
}
|
|
|
|
fatal() {
|
|
[ "$1" ] && prerr $*
|
|
prerr "$USAGE"
|
|
exit 1
|
|
}
|
|
|
|
warn() {
|
|
[ "$1" ] && prerr $*
|
|
}
|
|
|
|
#
|
|
# process the options
|
|
#
|
|
# defaults for getopt vars
|
|
#
|
|
|
|
verbose=""
|
|
logdir=log
|
|
|
|
while getopts v12o:l: OPT
|
|
do
|
|
case "$OPT" in
|
|
v)
|
|
verbose="yes";;
|
|
l)
|
|
logdir="$OPTARG";;
|
|
*)
|
|
fatal;;
|
|
esac
|
|
done
|
|
shiftcount=`expr $OPTIND - 1`
|
|
shift $shiftcount
|
|
|
|
args=$*
|
|
|
|
#
|
|
# Run the tests
|
|
#
|
|
|
|
test -d $logdir || fatal "No log directory: ./$logdir"
|
|
|
|
tests="$args"
|
|
if [ ! "$tests" ]
|
|
then
|
|
cd $logdir
|
|
set -- `ls -1 sp* mp??_? psx* sp*_g mp*_?_g psx*_g 2>/dev/null | grep -v info`
|
|
cd ..
|
|
tests="$*"
|
|
fi
|
|
|
|
for t in $tests
|
|
do
|
|
logfile=$t
|
|
|
|
if [ ! -f $logdir/$logfile ]
|
|
then
|
|
continue
|
|
fi
|
|
|
|
echo $logfile
|
|
echo
|
|
|
|
case $t in
|
|
mp*)
|
|
mptest=`echo $t | sed 's/_.//'`
|
|
node=`echo $t | sed 's/...._//'`
|
|
tmp_scn_file=mptests/node$node/$mptest.scn;;
|
|
sp*)
|
|
tmp_scn_file=sptests/$t.scn;;
|
|
psx*)
|
|
tmp_scn_file=psxtests/$t.scn;;
|
|
*)
|
|
fatal "unknown test $t";;
|
|
esac
|
|
|
|
scn_file=`echo $tmp_scn_file | sed -e s/_g//`
|
|
sed -e '/^$/d' < $logdir/$logfile | diff -b screens/$scn_file -
|
|
echo
|
|
echo
|
|
done
|
|
|
|
exit 0
|
|
|
|
# Local Variables: ***
|
|
# mode:ksh ***
|
|
# End: ***
|
|
|