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
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
|