X-Git-Url: http://deadsoftware.ru/gitweb?p=dsw-obn.git;a=blobdiff_plain;f=obn-run-tests.sh;h=2ce75728bd40a4f5c5fb3d3ef6a41f256444f15d;hp=b68d4b20cfd9354a635480f0659c5bc91bb965e3;hb=HEAD;hpb=879793eaf1d6378593f78a192f2961670f686530 diff --git a/obn-run-tests.sh b/obn-run-tests.sh index b68d4b2..2ce7572 100755 --- a/obn-run-tests.sh +++ b/obn-run-tests.sh @@ -2,30 +2,103 @@ 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 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