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
47 export SRCDIR
=${srcdir}
48 # I hate shells with their stupid, useless subshells.
49 passed
=`cat ${passedfile}`
50 failed
=`cat ${failedfile}`
51 (cd tests
# run TESTonce in tests directory
52 if ${srcdir}/tests/TESTonce $name ${srcdir}/tests/$input ${srcdir}/tests
/$output "$options"
54 passed
=`expr $passed + 1`
55 echo $passed >${passedfile}
57 failed
=`expr $failed + 1`
58 echo $failed >${failedfile}
60 if [ -d COREFILES
]; then
61 if [ -f core
]; then mv core COREFILES
/$name.core
; fi
63 [ "$only" != "" -a "$name" = "$only" ] && break
65 # I hate shells with their stupid, useless subshells.
66 passed
=`cat ${passedfile}`
67 failed
=`cat ${failedfile}`
72 echo $passed >${passedfile}
73 echo $failed >${failedfile}
82 echo "Usage: $0 [test_name]"
86 # exit with number of failing tests.
87 echo '------------------------------------------------'
88 printf "%4u tests failed\n" $failed
89 printf "%4u tests passed\n" $passed