#! /bin/bash TEST_DIR=`echo $0 | sed 's/runall$//'` FIFO="/tmp/tashi-test" PASS_COUNT=0 FAIL_COUNT=0 RUN_COUNT=0 export TESTING=1 for f in `ls ${TEST_DIR}`; do if [ -d ${TEST_DIR}/${f} ]; then echo "${f}:" mkfifo ${FIFO} cat ${FIFO} | tee ${TEST_DIR}/${f}/log.txt & ${TEST_DIR}/${f}/test > ${FIFO} 2>&1 RES=$? if [[ -e ${TEST_DIR}/${f}/cleanup ]]; then ${TEST_DIR}/${f}/cleanup fi if [[ ${RES} -eq 0 ]]; then PASS_COUNT=$((PASS_COUNT+1)) else FAIL_COUNT=$((FAIL_COUNT+1)) fi RUN_COUNT=$((RUN_COUNT+1)) wait rm -f ${FIFO} fi done echo ${PASS_COUNT}/${RUN_COUNT}