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