URL
https://opencores.org/ocsvn/or1k/or1k/trunk
Subversion Repositories or1k
[/] [or1k/] [trunk/] [rtems/] [c/] [src/] [tests/] [tools/] [generic/] [difftest.in] - Rev 1765
Compare with Previous | Blame | View Log
#!@KSH@ -p
#
# Check test results against official output from the src tree
#
# $Id: difftest.in,v 1.2 2001-09-27 12:02:48 chris Exp $
#
# 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* itron* mp*_?_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;;
itron*)
tmp_scn_file=itrontests/$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: ***