view tests/run-tests.sh @ 104:97107ee61dba

Temporary signal handling. "Temporary" because it will not work on platforms which don't have real signals (Hello, Win32) but nevertheless useful, as otherwise gcov (the code coverage tool) will not count executions of processes that are killed by signals (in particular, the server processes started in the tests). A brief experiment suggests that we're up to about 80% statement coverage from our 20 tests.
author mas01cr
date Thu, 04 Oct 2007 15:02:29 +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