server-skynet-source-3rd-je.../test/test.sh.in
Jason Evans 2a83ed0284 Refactor tests.
Refactor tests to use explicit testing assertions, rather than diff'ing
test output.  This makes the test code a bit shorter, more explicitly
encodes testing intent, and makes test failure diagnosis more
straightforward.
2013-12-08 20:52:21 -08:00

53 lines
1.1 KiB
Bash

#!/bin/sh
case @abi@ in
macho)
export DYLD_FALLBACK_LIBRARY_PATH="@objroot@lib"
;;
pecoff)
export PATH="${PATH}:@objroot@lib"
;;
*)
;;
esac
# Corresponds to test_status_t.
pass_code=0
skip_code=1
fail_code=2
echo "================================================================================"
pass_count=0
skip_count=0
fail_count=0
for t in $@; do
echo "${t}:"
${t}@exe@ @abs_srcroot@ @abs_objroot@ > @objroot@${t}.out 2>&1
result_code=$?
/bin/echo -n " "
tail -n 1 @objroot@${t}.out
case ${result_code} in
${pass_code})
pass_count=$((pass_count+1))
;;
${skip_code})
skip_count=$((skip_count+1))
;;
${fail_code})
fail_count=$((fail_count+1))
echo " *** ${t} failure; see @objroot@${t}.out for full output ***" 1>&2
;;
*)
echo "Test harness error" 1>&2
exit 1
esac
done
echo "================================================================================"
echo "Test suite summary: pass: ${pass_count}, skip: ${skip_count}, fail: ${fail_count}"
if [ ${fail_count} -eq 0 ] ; then
exit 0
else
exit 1
fi