X-Git-Url: http://nitlanguage.org diff --git a/tests/tests.sh b/tests/tests.sh index b95bc34..1c42a68 100755 --- a/tests/tests.sh +++ b/tests/tests.sh @@ -44,7 +44,6 @@ Usage: $e [options] modulenames -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 } @@ -64,12 +63,11 @@ function compare_to_result() 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 @@ -98,38 +96,57 @@ function process_result() echo >>$xml "" #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" + ;; + 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" ;; - 1*) + 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 @@ -153,17 +170,26 @@ function process_result() echo >>$xml "" 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 "" todos="$todos $pattern" + elif [ -n "$SOSO" ]; then + echo "[======= soso out/$pattern.res $SOSO =======]" + echo >>$xml "" + echo >>$xml ">$xml -n 50 + echo >>$xml "]]>" + nok="$nok $pattern" + echo "$ii" >> "$ERRLIST" elif [ -n "$SOSOF" ]; then - echo "[fixme soso] out/$pattern.res $SOSOF" - echo >>$xml "" - todos="$todos $pattern" + echo "[======= fixme soso out/$pattern.res $SOSOF =======]" + echo >>$xml "" + echo >>$xml ">$xml -n 50 + echo >>$xml "]]>" + nok="$nok $pattern" + echo "$ii" >> "$ERRLIST" elif [ -n "$NSAV" ]; then echo "[======= fail out/$pattern.res $NSAV =======]" echo >>$xml "" @@ -251,6 +277,7 @@ verbose=false stop=false engine=nitg noskip= +savdirs= while [ $stop = false ]; do case $1 in -o) OPT="$OPT $2"; shift; shift;; @@ -258,8 +285,6 @@ while [ $stop = false ]; do -h) usage; exit;; --engine) engine="$2"; shift; shift;; --noskip) noskip=true; shift;; - --soso) soso=true; shift;; - --nososo) nososo=true; shift;; *) stop=true esac done @@ -268,31 +293,25 @@ case $engine in 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-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" @@ -304,6 +323,8 @@ case $engine in ;; esac +savdirs="sav/$engine $savdirs sav/" + # The default nitc compiler [ -z "$NITC" ] && find_nitc