2a83ed0284
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.
53 lines
1.1 KiB
Bash
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
|