You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

81 lines
2.6 KiB

#! /bin/sh
# A script to test nanotrav.
# Each item in argslist corresponds to one run.
EXE=@EXEEXT@
srcdir=@srcdir@
# The separator IFS is set to a colon so that we can have spaces between
# arguments. Each entry consists of a model name and a list of arguments.
OIFS=$IFS
IFS=:
argslist="\
C17,-cover:\
C880,-ordering dfs -autodyn -automethod sifting -reordering sifting -drop:\
s27,-ordering hw -reordering annealing -trav:\
s27b,-ordering dfs -reordering win4 -verify ${srcdir}/nanotrav/s27.blif:\
s27c,-trav -image depend -depend:\
mult32a,-autodyn -reordering sifting -trav:\
s382,-trav -image part -autodyn -automethod sifting -drop -scc -shortpaths bellman:\
s641,-trav -autodyn -automethod group -drop -clauses -density -decomp -zdd:\
closest,-reordering genetic -drop -closest:\
adj49,-ordering dfs -reordering cogroup -drop -char2vect -cofest:\
ham01,-reordering linear:\
miniFirst,-second ${srcdir}/nanotrav/miniSecond.blif:\
rcn25,-envelope"
verbosity=1
# Discard statistics and remove CPU times.
sed_command='-r:-e:2d:-e:/modifiable/,$d:-e:s/[0-9][0-9]*\.?[0-9]* sec//:-e:s/[0-9][0-9]* recursive//'
echo TAP version 13
echo 1..13
exitstatus=0
count=0
# Create FIFOs for communication between sed processes and diff.
mkfifo nanotrav/tst_fifo nanotrav/out_fifo
# Create empty file.
: > ./nanotrav/differences
for argres in $argslist
do
IFS=, # split model name from arguments
set -- $argres
IFS=:
echo "# executing" "nanotrav/nanotrav$EXE -p $verbosity" \
"$2 ${srcdir}/nanotrav/${1}.blif > ./nanotrav/${1}.tst"
`eval "nanotrav/nanotrav -p $verbosity $2 ${srcdir}/nanotrav/${1}.blif > ./nanotrav/${1}.tst"`
failed=`expr $? != 0`
# If nanotrav completed successfully, compare this run's fitered output
# to the reference filtered output.
if test x$failed = x0; then
echo "# comparing" "./nanotrav/${1}.tst to ${srcdir}/nanotrav/${1}.out"
`sed ${sed_command} ./nanotrav/${1}.tst > nanotrav/tst_fifo &\
sed ${sed_command} ${srcdir}/nanotrav/${1}.out > nanotrav/out_fifo &\
diff -b nanotrav/tst_fifo nanotrav/out_fifo >> ./nanotrav/differences`
failed=`expr $? != 0`
fi
exitstatus=`expr $exitstatus + $failed`
count=`expr $count + 1`
if test x$failed = x0 ; then
echo "ok $count $1"
else
echo "not ok $count $1"
fi
done
# Clean up and report.
rm nanotrav/tst_fifo nanotrav/out_fifo
echo "# $exitstatus failed sub-tests out of $count"
if test x$exitstatus = x0; then
rm ./nanotrav/differences
else
echo '# Check file "./nanotrav/differences"'
fi
# Restore internal field separator.
IFS=$OIFS
exit 0