diff --git a/obn-run-tests.sh b/obn-run-tests.sh
index 2c7dbec0d4db0896ccb65078e38721830575d20a..2ce75728bd40a4f5c5fb3d3ef6a41f256444f15d 100755 (executable)
--- a/obn-run-tests.sh
+++ b/obn-run-tests.sh
set -e
set -e
+TEST_DIR=tests
+
+# Тест: компиляция и исполнение
maketest()
{
local OK=1
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
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
fi
- if [ $OK ]; then
+ if [ $OK = 1 ]; then
echo "Test ok: $1"
fi
}
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
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
}
./make.sh jvm
maketest Test3
maketest Test4
maketest Test5
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