view tests/run-tests.sh @ 234:0ebbf9723930 refactoring

OAOO for the trackPointQuery and trackSequenceQueryNN Reporter classes. C++ has this marvellous thing called templates, which allows for almost 1% of the power of writing source code at compile-time; in this particular case, that 1% is enough, as it allows us to generalize over the predicate for ordering in queues with a template class. Move reporters into reporter.h. The template class needs to be in there anyway; the pointQueryReporter will soon gain a template class analogue for Ollie's use case; and then there's just the Radius reporter.
author mas01cr
date Wed, 12 Dec 2007 10:58:24 +0000
parents 3c7c8b84e4f3
children fe4dc39b2dd7
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

if [ "$1" = "--full" ]; then
  pattern="[0-9][0-9][0-9][0-9]*"
else
  pattern="[0-8][0-9][0-9][0-9]*"
fi

for file in ${pattern}; 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} -eq 14 ]; then
        echo " n/a."
      elif [ ${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