6 # make it absolute for later use.
7 srcdir
=$
(cd $srcdir && pwd)
9 # this should be run from the compiled build directory,
10 # with srcdir= set to wherever the source code is.
11 # not from the tests directory.
12 echo RUNNING from
${srcdir}
14 passedfile
=$
(pwd)/tests
/.passed
15 failedfile
=$
(pwd)/tests
/.failed
16 failureoutput
=$
(pwd)/tests
/failure-outputs.txt
19 cat /dev
/null
> ${failureoutput}
23 for i
in ${srcdir}/tests
/*.sh
26 ${srcdir}/tests
/TEST
*.sh
) continue;;
27 ${srcdir}/tests
/\
*.sh
) continue;;
32 passed
=`cat ${passedfile}`
33 failed
=`cat ${failedfile}`
39 cat ${srcdir}/tests
/TESTLIST |
while read name input output options
46 [ "$only" != "" -a "$name" != "$only" ] && continue
49 # I hate shells with their stupid, useless subshells.
50 passed
=`cat ${passedfile}`
51 failed
=`cat ${failedfile}`
52 (cd tests
# run TESTonce in tests directory
53 if ${srcdir}/tests/TESTonce $name ${srcdir}/tests/$input ${srcdir}/tests
/$output "$options"
55 passed
=`expr $passed + 1`
56 echo $passed >${passedfile}
58 failed
=`expr $failed + 1`
59 echo $failed >${failedfile}
61 if [ -d tests
/COREFILES
]; then
62 if [ -f core
]; then mv core
tests
/COREFILES
/$name.core
; fi
64 [ "$only" != "" -a "$name" = "$only" ] && break
66 # I hate shells with their stupid, useless subshells.
67 passed
=`cat ${passedfile}`
68 failed
=`cat ${failedfile}`
73 echo $passed >${passedfile}
74 echo $failed >${failedfile}
83 echo "Usage: $0 [test_name]"
87 # exit with number of failing tests.
88 echo '------------------------------------------------'
89 printf "%4u tests failed\n" $failed
90 printf "%4u tests passed\n" $passed