DEADSOFTWARE

Добавлены строки в отладочную информацию класса (быстрохак)
[dsw-obn.git] / obn-run-tests.sh
index c665472c81c9a1bdb6767438573dea2b890a1562..2ce75728bd40a4f5c5fb3d3ef6a41f256444f15d 100755 (executable)
@@ -2,27 +2,60 @@
 
 set -e
 
+TEST_DIR=tests
+
+# Тест: компиляция и исполнение
 maketest()
 {
        local OK=1
-       if ! ./obn-compile.sh $1; then
-               OK=0; echo "Test fail: $1 compile-time $?"
+       local LOG=""
+       if ! LOG="$(./obn-compile.sh -I $TEST_DIR $1)"; then
+               OK=0;
+               echo "=============================="
+               echo "Test fail: $1 compile-time $?:"
+               echo "$LOG"
+               echo "=============================="
+               echo
        fi
-       if ! ./obn-run.sh $1; then
-               OK=0; echo "Test fail: $1 run-time $?"
+       if [ $OK = 1 ]; then
+               if ! ./obn-run.sh $1; then
+                       OK=0
+               fi
        fi
-       if [ $OK ]; then
+       if [ $OK = 1 ]; then
                echo "Test ok: $1"
        fi
 }
 
-compile_false_positive()
+# Тест: только компиляция
+makecomp()
 {
-       if ./obn-compile.sh $1; then
-               echo "Test fail: $1 compile-time $?"
+       local LOG=""
+       if ! LOG="$(./obn-compile.sh -I $TEST_DIR $1)"; then
+               echo "=============================="
+               echo "Test fail: $1 compile-time $?:"
+               echo "$LOG"
+               echo "=============================="
+               echo
        else
                echo "Test ok: $1"
        fi
+
+}
+
+# Тест: Компиляция не должна проходить
+makefail()
+{
+       local LOG=""
+       if ! LOG="$(./obn-compile.sh -I $TEST_DIR $1)"; then
+               echo "Test ok: $1"
+       else
+               echo "=============================="
+               echo "Test fail: $1 compile-time $?:"
+               echo "$LOG"
+               echo "=============================="
+               echo
+       fi
 }
 
 ./make.sh jvm
@@ -31,3 +64,41 @@ maketest Test1
 maketest Test2
 maketest Test3
 maketest Test4
+maketest Test5
+maketest Test6
+maketest Test7
+maketest Test8
+maketest Test9
+maketest Test10
+maketest Test11
+maketest Test12
+maketest Test13
+maketest Test14
+maketest Test15
+maketest Test16
+
+makefail Test17A
+makefail Test17B
+makecomp Test17C
+makecomp Test17D
+makefail Test17E
+makefail Test17F
+
+makecomp Test18A
+makefail Test18B
+makefail Test18C
+
+maketest Test19
+maketest Test20
+maketest Test21
+maketest Test22
+
+makecomp Test23A
+makefail Test23B
+
+maketest Test24
+maketest Test25
+maketest Test26
+maketest Test27
+maketest Test28
+maketest Test29