Mercurial > hg > audiodb
annotate tests/run-tests.sh @ 402:58b88ab69424 api-inversion
Move the struct adb definition from the auidioDB_API.h into the
audioDB-internals.h header file, leaving only the typedef behind.
Thus a user of the API sees only an incomplete type, which cannot be
instantiated (but /pointers/ to it can); there's then less temptation to
break the abstraction barrier by using structure fields in client code.
Not only that, but we can now safely put C++ stuff in the structure.
Take advantage of this by putting a std::set<std::string> in there, to
hold all the keys currently in the database; populate this field on
audiodb_open() (and delete it on audiodb_close). This will be useful
when we come to implement variants of audiodb_insert().
author | mas01cr |
---|---|
date | Wed, 03 Dec 2008 17:40:15 +0000 |
parents | fe4dc39b2dd7 |
children | 216b55457009 |
rev | line source |
---|---|
mas01cr@252 | 1 #! /bin/bash |
mas01cr@38 | 2 |
mas01cr@39 | 3 AUDIODB=../../${EXECUTABLE:-audioDB} |
mas01cr@39 | 4 export AUDIODB |
mas01cr@39 | 5 |
mas01cr@252 | 6 if [ -x ${AUDIODB#../} ]; then |
mas01cr@39 | 7 : |
mas01cr@39 | 8 else |
mas01cr@252 | 9 echo Cannot execute audioDB: ${AUDIODB#../} |
mas01cr@39 | 10 exit 1 |
mas01cr@39 | 11 fi |
mas01cr@39 | 12 |
mas01cr@164 | 13 if [ "$1" = "--full" ]; then |
mas01cr@164 | 14 pattern="[0-9][0-9][0-9][0-9]*" |
mas01cr@164 | 15 else |
mas01cr@164 | 16 pattern="[0-8][0-9][0-9][0-9]*" |
mas01cr@164 | 17 fi |
mas01cr@164 | 18 |
mas01cr@164 | 19 for file in ${pattern}; do |
mas01cr@38 | 20 if [ -d ${file} ]; then |
mas01cr@38 | 21 if [ -f ${file}/run-test.sh ]; then |
mas01cr@67 | 22 echo -n Running test ${file} |
mas01cr@67 | 23 if [ -f ${file}/short-description ]; then |
mas01cr@67 | 24 awk '{ printf(" (%s)",$0) }' < ${file}/short-description |
mas01cr@67 | 25 fi |
mas01cr@67 | 26 echo -n : |
mas01cr@252 | 27 (cd ${file} && /bin/bash ./run-test.sh > test.out 2> test.err) |
mas01cr@38 | 28 EXIT_STATUS=$? |
mas01cr@239 | 29 if [ ${EXIT_STATUS} -eq 14 ]; then |
mas01cr@239 | 30 echo " n/a." |
mas01cr@239 | 31 elif [ ${EXIT_STATUS} -ne 104 ]; then |
mas01cr@239 | 32 echo " failed (exit status ${EXIT_STATUS})." |
mas01cr@67 | 33 FAILED=true |
mas01cr@67 | 34 else |
mas01cr@67 | 35 echo " success." |
mas01cr@38 | 36 fi |
mas01cr@38 | 37 else |
mas01cr@38 | 38 echo Skipping test ${file} |
mas01cr@38 | 39 fi |
mas01cr@38 | 40 fi |
mas01cr@38 | 41 done |
mas01cr@67 | 42 |
mas01cr@73 | 43 if [ -z "${FAILED}" ]; then |
mas01cr@67 | 44 exit 0 |
mas01cr@67 | 45 else |
mas01cr@67 | 46 exit 1 |
mas01cr@67 | 47 fi |