blob: 86892e3baa8561b198501dad8f1e3d0dda3306a4 [file] [log] [blame]
#!/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