| #!/bin/sh |
| |
| # Copyright (C) Dmitry Volyntsev |
| # Copyright (C) NGINX, Inc. |
| |
| set -e |
| |
| . test/options |
| . test/setup |
| |
| for njs_test in $NJS_TESTS; do |
| . test/prepare |
| |
| njs_log="$NJS_TEST_DIR/${njs_test%.*}.log" |
| |
| verbose "$njs_test $njs_log" |
| cat << END >> $NJS_TEST_LOG |
| ---------------------------------------- |
| running $njs_test $njs_log |
| END |
| |
| status=0 |
| |
| NJS_PATH=$njs_paths \ |
| NJS_EXIT_CODE=$NJS_TEST_EXIT_CODE \ |
| $NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test > $njs_log 2>&1 || status=$? |
| |
| cat $njs_log >> $NJS_TEST_LOG |
| njs_out=`cat $njs_log` |
| |
| if [ "$status" -eq 0 ]; then |
| if [ -n "$njs_negative" ]; then |
| failed $njs_test $njs_log |
| |
| elif [ $njs_async = yes ]; then |
| if [ "$njs_out" != 'Test262:AsyncTestComplete' ]; then |
| failed $njs_test $njs_log |
| |
| else |
| passed $njs_test |
| fi |
| |
| else |
| if [ -n "$njs_out" ]; then |
| failed $njs_test $njs_log |
| |
| else |
| passed $njs_test |
| fi |
| fi |
| |
| else |
| if [ -n "$njs_negative" ]; then |
| if [ "$status" = "$NJS_TEST_EXIT_CODE" ]; then |
| passed $njs_test |
| else |
| echo "negative test exited with unexpected exit code:$status" |
| failed $njs_test $njs_log |
| fi |
| |
| else |
| failed $njs_test $njs_log |
| fi |
| fi |
| |
| done |
| |
| . test/finalize |
| . test/report |