view tests/run-tests.sh @ 151:5fa52830e532

More defensive command-line error checking: * the command line is also used by the WS server, so don't call exit() directly, call error(); * turn the server flag on before parsing the command-line, so that calls to error() do the right thing..
author mas01cr
date Wed, 31 Oct 2007 15:38:11 +0000
parents 1fc7f47b422b
children 218106b4db14
line wrap: on
line source
#! /bin/sh

AUDIODB=../../${EXECUTABLE:-audioDB}
export AUDIODB

if [ -x ${AUDIODB:3} ]; then 
  :
else 
  echo Cannot execute audioDB: ${AUDIODB:3}
  exit 1
fi

for file in [0-9][0-9][0-9][0-9]*; do
  if [ -d ${file} ]; then
    if [ -f ${file}/run-test.sh ]; then
      echo -n Running test ${file}
      if [ -f ${file}/short-description ]; then
        awk '{ printf(" (%s)",$0) }' < ${file}/short-description
      fi
      echo -n :
      (cd ${file} && sh ./run-test.sh > test.out 2> test.err)
      EXIT_STATUS=$?
      if [ ${EXIT_STATUS} -ne 104 ]; then
        echo " failed (exit status ${EXIT_STATUS})".
        FAILED=true
      else
        echo " success."
      fi
    else
      echo Skipping test ${file}
    fi
  fi
done

if [ -z "${FAILED}" ]; then
  exit 0
else
  exit 1
fi