#! /bin/sh # $Id: run-test-suite 432 2007-01-05 14:58:37Z sfsetse $ MY_NAME=`basename $0` MY_PATH=`dirname $0` SHELLS='/bin/sh /bin/bash /bin/dash /bin/ksh /bin/pdksh' for f in test[A-Z]*; do [ -x "${f}" ] && TESTS="${TESTS:+${TESTS} }${f}" done # load common unit test functions . "${MY_PATH}/test-functions.inc" usage() { echo "usage: ${MY_NAME} [-e key=val ...] [-s shell(s)] [-t test(s)]" } # process command line flags while getopts 'e:hs:t:' opt; do case ${opt} in e) key=`expr "${OPTARG}" : '\([^=]*\)='` val=`expr "${OPTARG}" : '[^=]*=\(.*\)'` if [ -z "${key}" -o -z "${val}" ]; then usage exit 1 fi eval "${key}='${val}'" export ${key} env="${env:+${env} }${key}" ;; h) usage; exit 0 ;; s) shells=${OPTARG} ;; t) tests=${OPTARG} ;; *) usage; exit 1 ;; esac done shift `expr ${OPTIND} - 1` # fill shells and/or tests shells=${shells:-${SHELLS}} tests=${tests:-${TESTS}} # error checking if [ -z "${tests}" ]; then tf_error 'no tests found to run; exiting' exit 1 fi cat <&1` exitVal=$? if [ ${exitVal} -eq 2 ]; then echo echo "${version}" fi ;; pdksh) ;; zsh) ;; esac # execute the tests for suite in ${tests}; do suiteName=`expr "${suite}" : 'test\(.*\)'` echo echo "--- Executing the '${suiteName}' test suite ---" >&2 ( exec ${shell} ./${suite}; ) done done