Mercurial > hg > audiodb
annotate libtests/run-tests.sh @ 497:9d8aee621afb api-inversion
More libtests fixups.
Include audiodb_close() calls everywhere (whoops).
Add the facility to run tests under valgrind. Unfortunately the
error-exitcode flag doesn't actually cause an error exit if the only
thing wrong is memory leaks, but it will if there are actual memory
errors, which is a start.
author | mas01cr |
---|---|
date | Sat, 10 Jan 2009 16:07:43 +0000 |
parents | 4cb6c611f812 |
children |
rev | line source |
---|---|
mas01ik@355 | 1 #! /bin/bash |
mas01ik@355 | 2 |
mas01cr@497 | 3 # FIXME: work out how to do proper getopt in bash |
mas01ik@355 | 4 if [ "$1" = "--full" ]; then |
mas01ik@355 | 5 pattern="[0-9][0-9][0-9][0-9]*" |
mas01ik@355 | 6 else |
mas01ik@355 | 7 pattern="[0-8][0-9][0-9][0-9]*" |
mas01ik@355 | 8 fi |
mas01ik@355 | 9 |
mas01ik@355 | 10 for file in ${pattern}; do |
mas01ik@355 | 11 if [ -d ${file} ]; then |
mas01cr@373 | 12 if [ /bin/true ]; then |
mas01ik@355 | 13 echo -n Running test ${file} |
mas01ik@355 | 14 if [ -f ${file}/short-description ]; then |
mas01ik@355 | 15 awk '{ printf(" (%s)",$0) }' < ${file}/short-description |
mas01ik@355 | 16 fi |
mas01cr@497 | 17 if [ "$1" = "--valgrind" ]; then |
mas01cr@497 | 18 echo -n \ under valgrind |
mas01cr@497 | 19 fi |
mas01ik@355 | 20 echo -n : |
mas01cr@497 | 21 if [ "$1" = "--valgrind" ]; then |
mas01cr@497 | 22 (cd ${file} && make -f ../libtest.mk >/dev/null 2>&1 && valgrind --leak-check=full --show-reachable=yes --error-exitcode=1 --tool=memcheck ./test1 > test.out 2> test.err) |
mas01cr@497 | 23 else |
mas01cr@497 | 24 (cd ${file} && make -f ../libtest.mk >/dev/null 2>&1 && ./test1 > test.out 2> test.err) |
mas01cr@497 | 25 fi |
mas01ik@355 | 26 EXIT_STATUS=$? |
mas01ik@355 | 27 if [ ${EXIT_STATUS} -eq 14 ]; then |
mas01ik@355 | 28 echo " n/a." |
mas01ik@355 | 29 elif [ ${EXIT_STATUS} -ne 104 ]; then |
mas01ik@355 | 30 echo " failed (exit status ${EXIT_STATUS})." |
mas01ik@355 | 31 FAILED=true |
mas01ik@355 | 32 else |
mas01ik@355 | 33 echo " success." |
mas01ik@355 | 34 fi |
mas01ik@355 | 35 else |
mas01ik@355 | 36 echo Skipping test ${file} |
mas01ik@355 | 37 fi |
mas01ik@355 | 38 fi |
mas01ik@355 | 39 done |
mas01ik@355 | 40 |
mas01ik@355 | 41 if [ -z "${FAILED}" ]; then |
mas01ik@355 | 42 exit 0 |
mas01ik@355 | 43 else |
mas01ik@355 | 44 exit 1 |
mas01ik@355 | 45 fi |