X-Git-Url: https://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=obn-run-tests.sh;h=7011dc59ada134164831c80e12cf2bb077d5bdc9;hp=b68d4b20cfd9354a635480f0659c5bc91bb965e3;hb=ba8ed2cfa675b23cb19cba538f719a07a79ffb7f;hpb=879793eaf1d6378593f78a192f2961670f686530 diff --git a/obn-run-tests.sh b/obn-run-tests.sh index b68d4b2..7011dc5 100755 --- a/obn-run-tests.sh +++ b/obn-run-tests.sh @@ -2,30 +2,93 @@ set -e +# Тест: компиляция и исполнение 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 $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 + echo "==============================" + echo "Test fail: $1 run-time $?:" + echo "$LOG" + echo "==============================" + echo + 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 $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 $1)"; then + echo "Test ok: $1" + else + echo "==============================" + echo "Test fail: $1 compile-time $?:" + echo "$LOG" + echo "==============================" + echo + fi } ./make.sh jvm 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