tests.sh: distinguish the generated file from the executed file
[nit.git] / tests / tests.sh
index 1c42a68..8e2c65f 100755 (executable)
@@ -59,6 +59,7 @@ function compare_to_result()
        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
@@ -303,6 +304,10 @@ case $engine in
                enginebinname=nitg;
                OPT="--erasure $OPT"
                ;;
+       nitg-sg)
+               enginebinname=nitg;
+               OPT="--semi-global $OPT"
+               ;;
        nitg-g)
                enginebinname=nitg;
                OPT="--global $OPT"
@@ -404,6 +409,8 @@ for ii in "$@"; do
                        inputs=/dev/null
                fi
 
+               ffout="$ff.bin"
+
                if [ "$engine" = "niti" ]; then
                        cat > "./$ff.bin" <<END
 exec $NITC --no-color $OPT "$i" $includes -- "\$@"
@@ -421,10 +428,10 @@ END
                        # Compile
                        if [ "x$verbose" = "xtrue" ]; then
                                echo ""
-                               echo $NITC --no-color $OPT -o "$ff.bin" "$i" "$includes" $nocc
+                               echo $NITC --no-color $OPT -o "$ffout" "$i" "$includes" $nocc
                        fi
                        NIT_NO_STACK=1 JNI_LIB_PATH=$JNI_LIB_PATH JAVA_HOME=$JAVA_HOME \
-                               $TIMEOUT $NITC --no-color $OPT -o "$ff.bin" "$i" $includes $nocc 2> "$ff.cmp.err" > "$ff.compile.log"
+                               $TIMEOUT $NITC --no-color $OPT -o "$ffout" "$i" $includes $nocc 2> "$ff.cmp.err" > "$ff.compile.log"
                        ERR=$?
                        if [ "x$verbose" = "xtrue" ]; then
                                cat "$ff.compile.log"