#!/bin/sh
# Run all nauty checks

# ++++++ This file is automatically generated, don't edit it by hand! ++++++

runonetest() {
cmd="$1"
in="$2"
ok="$3"
printf "%s %s %s  " "$cmd" "$in" "$ok"
 
if [ "X$in" = "X" ] ; then
   in=/dev/null
elif [ ! -r "$in" ] ; then
   echo "File $in not found or not readable."
   exit 1
fi

if [ ! -r "$ok" ] ; then
   echo "File $ok not found or not readable."
   exit 1
fi

out1=`mktemp runtest.XXXXXX`
out2=`mktemp runtest.XXXXXX`

eval $cmd <"$in" 2>$out2 >$out1
LC_ALL=C sort $out2 >>$out1
if ./naucompare "$out1" "$ok" ; then
   rm $out1 $out2
else
   echo "Output file is $out1"
   rm $out2
   fails=`expr $fails + 1`
fi
}

# runonetestQ will run a test if 128-bit compilation is
# enabled and will do nothing otherwise

runonetestQ() { runonetest "$1" "$2" "$3" ; }

fails=0

for naut in nautest nautestS nautestW nautestL nautestQ
do
   if ! ./$naut ; then
      echo "basic tests failed; run $naut"
      exit 1
   fi
done

runonetest ./dreadtest nautest1.dre nautest1a.ans
runonetest "./dreadtest -o As" nautest1.dre nautest1b.ans
runonetest "./dreadtest -o At" nautest1.dre nautest1c.ans
runonetest ./dreadtestS nautest1.dre nautest1a.ans
runonetest "./dreadtestS -o As" nautest1.dre nautest1b.ans
runonetest ./dreadtestW nautest1.dre nautest1a.ans
runonetest "./dreadtestW -o As" nautest1.dre nautest1b.ans
runonetest ./dreadtestL nautest1.dre nautest1a.ans
runonetest "./dreadtestL -o As" nautest1.dre nautest1b.ans
runonetest ./dreadtestL1 nautest1.dre nautest1a.ans
runonetest "./dreadtestL1 -o As" nautest1.dre nautest1b.ans
runonetest ./dreadtest4K nautest1.dre nautest1a.ans
runonetest "./dreadtest4K -o As" nautest1.dre nautest1b.ans
runonetest "./dreadtest4K -o At" nautest1.dre nautest1c.ans
runonetestQ ./dreadtestQ nautest1.dre nautest1a.ans
runonetestQ "./dreadtestQ -o As" nautest1.dre nautest1b.ans
runonetestQ "./dreadtestQ -o At" nautest1.dre nautest1c.ans

runonetest ./dreadtest nautest2.dre nautest2a.ans
runonetest "./dreadtest -o As" nautest2.dre nautest2b.ans
runonetest "./dreadtest -o At" nautest2.dre nautest2c.ans
runonetest ./dreadtestS nautest2.dre nautest2a.ans
runonetest "./dreadtestS -o As" nautest2.dre nautest2b.ans
runonetest ./dreadtestW nautest2.dre nautest2a.ans
runonetest "./dreadtestW -o As" nautest2.dre nautest2b.ans
runonetest "./dreadtestW -o At" nautest2.dre nautest2c.ans
runonetest ./dreadtestL nautest2.dre nautest2a.ans
runonetest "./dreadtestL -o As" nautest2.dre nautest2b.ans
runonetest "./dreadtestL -o At" nautest2.dre nautest2c.ans
runonetestQ ./dreadtestQ nautest2.dre nautest2a.ans
runonetestQ "./dreadtestQ -o As" nautest2.dre nautest2b.ans
runonetestQ "./dreadtestQ -o At" nautest2.dre nautest2c.ans
runonetest ./dreadtest1 nautest2.dre nautest2a.ans
runonetest "./dreadtest1 -o As" nautest2.dre nautest2b.ans
runonetest ./dreadtestS1 nautest2.dre nautest2a.ans
runonetest "./dreadtestS1 -o As" nautest2.dre nautest2b.ans
runonetest ./dreadtestW1 nautest2.dre nautest2a.ans
runonetest "./dreadtestW1 -o As" nautest2.dre nautest2b.ans
runonetest ./dreadtestL1 nautest2.dre nautest2a.ans
runonetest "./dreadtestL1 -o As" nautest2.dre nautest2b.ans
runonetest ./dreadtest4K nautest2.dre nautest2a.ans
runonetest "./dreadtest4K -o As" nautest2.dre nautest2b.ans
runonetestQ ./dreadtestQ1 nautest2.dre nautest2a.ans
runonetestQ "./dreadtestQ1 -o As" nautest2.dre nautest2b.ans

runonetest ./dreadtest nautest3.dre nautest3a.ans
runonetest "./dreadtest -o As" nautest3.dre nautest3b.ans
runonetest "./dreadtest -o At" nautest3.dre nautest3c.ans
runonetest ./dreadtestS nautest3.dre nautest3a.ans
runonetest "./dreadtestS -o As" nautest3.dre nautest3b.ans
runonetest ./dreadtestW nautest3.dre nautest3a.ans
runonetest "./dreadtestW -o As" nautest3.dre nautest3b.ans
runonetest "./dreadtestW -o At" nautest3.dre nautest3c.ans
runonetest ./dreadtestL nautest3.dre nautest3a.ans
runonetest "./dreadtestL -o As" nautest3.dre nautest3b.ans
runonetest "./dreadtestL -o At" nautest3.dre nautest3c.ans
runonetestQ ./dreadtestQ nautest3.dre nautest3a.ans
runonetestQ "./dreadtestQ -o As" nautest3.dre nautest3b.ans
runonetestQ "./dreadtestQ -o At" nautest3.dre nautest3c.ans
runonetest ./dreadtest4K nautest3.dre nautest3a.ans
runonetest "./dreadtest4K -o As" nautest3.dre nautest3b.ans
runonetestQ ./dreadtestQ1 nautest3.dre nautest3a.ans
runonetestQ "./dreadtestQ1 -o As" nautest3.dre nautest3b.ans

runonetest "./geng -ud1D7t 11" "" nautesta.ans
runonetest "./geng -cd1f 10 | ./labelg -q" "" nautestb1.ans
runonetest "./geng -cd1f 10 | ./labelg -qS" "" nautestb2.ans
runonetest "./geng -cd1f 10 | ./labelg -qt" "" nautestb3.ans
runonetest "./genrang -S4321 -r3 114 100 | ./countg --nedDrP -q" "" nautestc.ans
runonetest "./gentourng -q -z 8 | ./pickg -T3" "" nautestd.ans
runonetest "./gentreeg -q -s 18 | ./countg -z6 --o" "" nauteste.ans
runonetest "./geng -c -qp 8 9 | ./directg -q -o | ./converseg -q | ./labelg -q" "" nautestf.ans
runonetest "./genbg -q 4 3 10 | ./vcolg -m5 -T" "" nautestg.ans
runonetest "./genposetg 8 o q" "" nautesth.ans
runonetest "./genspecialg -q -c12 -b11,4 -P5,2 -T3,4,5 -X30" "" nautesti.ans
runonetest "./genspecialg -qz -c12 -b11,4 -G30,-30 -T3,4,5" "" nautestj.ans
runonetest "./gentreeg -q 3:4 | ./assembleg -n4:12L -cq" "" nautestk.ans
runonetest "./geng -q 10 12 | ./countg --WTKcc,ee,hk" "" nautestl.ans
runonetest "./genquarticg -q 9 | ./copyg -i" "" nautestm.ans
runonetest "./gengL -d2D2 33" "" nautestn.ans
runonetest "./geng -bq 9 | ./biplabg -q | ./NRswitchg -q" "" nautesto.ans
runonetest "./genspecialg -Q4 -q | ./addedgeg -tq | ./deledgeg -qv10" "" nautestp.ans
runonetest "./genktreeg -k3 -q 11 | ./complg -q" "" nautestq.ans
runonetest "./geng -qd5 10 | ./countg --dkk" "" nautestr.ans
runonetest "./geng -q -D4 9 | ./ranlabg -q | ./shortg -q" "" nautests.ans
runonetest "./geng -q -T 10 | ./countg --N:HH" "" nautestt.ans
runonetest "./geng -q -TD6 10 | ./countg --NN,A" "" nautestu.ans
runonetest "./geng -q -TD6 10 | ./ransubg -qS765 -P9/10 | ./countg --NN,A,G,GG" "" nautestv.ans
runonetest "./genrang -q -P3 -S1234 70 1000 | ./countg --G,GG" "" nautestw.ans
runonetest "./genrang -q -P4 -z -S1234 70 500 | ./countg --G,GG" "" nautestx.ans
runonetest "./geng -q -bT 12 | ./ranlabg -qS7654 -m5 | ./uniqg -uy" "" nautesty.ans
runonetest "./geng -qc -f 11 | ./delptg -qk2 | ./countg --nde" "" nautestz.ans
runonetest "./geng -Pd3D5q 9 | ./nbrhoodg -q | ./newedgeg -q" "" nautestaa.ans
runonetest "./genbg -qFz 5 5 | ./ancestorg -q | ./listg -A" "" nautestbb.ans
runonetest "./genbg -qY1 5 6 | ./linegraphg -q | ./countneg" "" nautestcc.ans
runonetest "./genbg -qA 6 6 | ./addptg -qj1 | ./countg --WW,HH,P" "" nautestdd.ans
runonetest "./genbg -qz 6 5 | ./subdivideg -qk2 | ./countg --dmDM" "" nautestee.ans
runonetest "./geng -Cq 8 12 | ./watercluster2 S Z | ./underlyingg -q | ./countg --ee,cc,zZ" "" nautestff.ans
runonetest "./geng -qd3D4 8 | ./multig -qTm2" "" nautestgg.ans
runonetest "./geng -qtfc 9 | ./planarg -q | ./pickg -qp1:2 | ./productg -c" "" nautesthh.ans
runonetest "./genspecialg -q -X12 -X44 -X23 -X68 -X100 | ./distgraphg -qd3 | ./uniqg -uy" "" nautestii.ans
# Make sure to use ./ for all local binaries

echo " "

if [ $fails -eq 0 ] ; then
   echo "PASSED ALL TESTS"
   exit 0
else
   echo "$fails TESTS FAILED"
   exit 1
fi

# ++++++ This file is automatically generated, don't edit it by hand! ++++++
