-h This help
--engine Use a specific engine (default=nitg)
--noskip Do not skip a test even if the .skip file matches
---[no]soso Force enable (or disable) SOSO
END
}
local pattern="$1"
local sav="$2"
if [ ! -r "$sav" ]; then return 0; fi
+ test "`cat "$sav"`" = "UNDEFINED" && return 1
diff -u "$sav" "out/$pattern.res" > "out/$pattern.diff.sav.log"
if [ "$?" == 0 ]; then
return 1
fi
- [ -z "$soso" ] && return 3
sed '/[Ww]arning/d;/[Ee]rror/d' "out/$pattern.res" > "out/$pattern.res2"
sed '/[Ww]arning/d;/[Ee]rror/d' "$sav" > "out/$pattern.sav2"
grep '[Ee]rror' "out/$pattern.res" >/dev/null && echo "Error" >> "out/$pattern.res2"
grep '[Ee]rror' "$sav" >/dev/null && echo "Error" >> "out/$pattern.sav2"
- diff -u "out/$pattern.sav2" "out/$pattern.res2" > "out/$pattern.diff.sav.log"
+ diff -u "out/$pattern.sav2" "out/$pattern.res2" > "out/$pattern.diff.sav.log2"
if [ "$?" == 0 ]; then
return 2
else
echo >>$xml "<testcase classname='$pack' name='$description'>"
#for sav in "sav/$engine/fixme/$pattern.res" "sav/$engine/$pattern.res" "sav/fixme/$pattern.res" "sav/$pattern.res" "sav/$pattern.sav"; do
for savdir in $savdirs; do
- sav=$savdir/$pattern.res
+ sav=$savdir/fixme/$pattern.res
compare_to_result "$pattern" "$sav"
-
- case "$? $sav" in
- 0*)
- continue;; # no file
- 1*/fixme/*)
+ case "$?" in
+ 0)
+ ;; # no file
+ 1)
OLD="$LIST"
FIXME="$sav"
+ LIST="$LIST $sav"
;;
- 1*)
+ 2)
+ if [ -z "$FIRST" ]; then
+ SOSOF="$sav"
+ FIRST="$sav"
+ fi
+ LIST="$LIST $sav"
+ ;;
+ 3)
+ if [ -z "$FIRST" ]; then
+ NFIXME="$sav"
+ FIRST="$sav"
+ fi
+ LIST="$LIST $sav"
+ ;;
+ esac
+
+ sav=$savdir/$pattern.res
+ compare_to_result "$pattern" "$sav"
+ case "$?" in
+ 0)
+ ;; # no file
+ 1)
OLD="$LIST"
SAV="$sav"
+ LIST="$LIST $sav"
;;
- 2*/fixme/*)
- SOSOF="$sav" ;;
- 2*)
- SOSO="$sav" ;;
- 3*/fixme/*)
+ 2)
if [ -z "$FIRST" ]; then
- NFIXME="$sav"
+ SOSO="$sav"
FIRST="$sav"
fi
+ LIST="$LIST $sav"
;;
- 3*)
+ 3)
if [ -z "$FIRST" ]; then
NSAV="$sav"
FIRST="$sav"
fi
+ LIST="$LIST $sav"
;;
esac
- LIST="$LIST $sav"
done
OLD=`echo "$OLD" | sed -e 's/ */ /g' -e 's/^ //' -e 's/ $//'`
grep 'NOT YET IMPLEMENTED' "out/$pattern.res" >/dev/null
echo >>$xml "<skipped/>"
fi
todos="$todos $pattern"
- elif [ -n "$SOSO" ]; then
- echo "[soso] out/$pattern.res $SOSO"
- ok="$ok $pattern"
elif [ "x$NYI" = "x0" ]; then
echo "[todo] out/$pattern.res -> not yet implemented"
echo >>$xml "<skipped/>"
todos="$todos $pattern"
+ elif [ -n "$SOSO" ]; then
+ echo "[======= soso out/$pattern.res $SOSO =======]"
+ echo >>$xml "<error message='soso out/$pattern.res $SOSO'/>"
+ echo >>$xml "<system-out><![CDATA["
+ cat -v out/$pattern.diff.sav.log | head >>$xml -n 50
+ echo >>$xml "]]></system-out>"
+ nok="$nok $pattern"
+ echo "$ii" >> "$ERRLIST"
elif [ -n "$SOSOF" ]; then
- echo "[fixme soso] out/$pattern.res $SOSOF"
- echo >>$xml "<skipped/>"
- todos="$todos $pattern"
+ echo "[======= fixme soso out/$pattern.res $SOSOF =======]"
+ echo >>$xml "<error message='soso out/$pattern.res $SOSO'/>"
+ echo >>$xml "<system-out><![CDATA["
+ cat -v out/$pattern.diff.sav.log | head >>$xml -n 50
+ echo >>$xml "]]></system-out>"
+ nok="$nok $pattern"
+ echo "$ii" >> "$ERRLIST"
elif [ -n "$NSAV" ]; then
echo "[======= fail out/$pattern.res $NSAV =======]"
echo >>$xml "<error message='fail out/$pattern.res $NSAV'/>"
stop=false
engine=nitg
noskip=
+savdirs=
while [ $stop = false ]; do
case $1 in
-o) OPT="$OPT $2"; shift; shift;;
-h) usage; exit;;
--engine) engine="$2"; shift; shift;;
--noskip) noskip=true; shift;;
- --soso) soso=true; shift;;
- --nososo) nososo=true; shift;;
*) stop=true
esac
done
nitg)
engine=nitg-s;
enginebinname=nitg;
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
OPT="--separate $OPT"
;;
nitg-s)
enginebinname=nitg;
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
OPT="--separate $OPT"
;;
nitg-e)
enginebinname=nitg;
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
OPT="--erasure $OPT"
;;
+ nitg-sg)
+ enginebinname=nitg;
+ OPT="--semi-global $OPT"
+ ;;
nitg-g)
enginebinname=nitg;
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
OPT="--global $OPT"
;;
nit)
engine=niti
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
;;
niti)
enginebinname=nit
- savdirs="sav/$engine/fixme/ sav/$engine/ sav/fixme/ sav/"
;;
nitc)
echo "disabled engine $engine"
;;
esac
+savdirs="sav/$engine $savdirs sav/"
+
# The default nitc compiler
[ -z "$NITC" ] && find_nitc