#!/bin/sh export MALLOC_CONF_ALL=${MALLOC_CONF} # Concatenate the individual test's MALLOC_CONF and MALLOC_CONF_ALL. export_malloc_conf() { if [ "x${MALLOC_CONF}" != "x" -a "x${MALLOC_CONF_ALL}" != "x" ] ; then export MALLOC_CONF="${MALLOC_CONF},${MALLOC_CONF_ALL}" else export MALLOC_CONF="${MALLOC_CONF}${MALLOC_CONF_ALL}" fi } saved_dir=$PWD for dir in tests/* ; do cd $dir for atest in * ; do if [[ "${atest##*.}" == "sh" ]]; then continue fi if [ -e "${atest}.sh" ] ; then # Source the shell script corresponding to the test in a subshell and # execute the test. This allows the shell script to set MALLOC_CONF, which # is then used to set MALLOC_CONF (thus allowing the # per test shell script to ignore the detail). enable_fill=1 \ enable_prof=1 \ . $(pwd)/${atest}.sh && \ export_malloc_conf else export MALLOC_CONF= && \ export_malloc_conf fi if [ \( -x $atest \) -a \( -f $atest \) ] ; then rm -rf tests.log ./$atest > tests.log 2>&1 sed -e '/: pass/ s/^/PASS: /g' \ -e '/: skip/ s/^/SKIP: /g' \ -e '/: fail/ s/^/FAIL: /g' \ -e 's/: pass//g' \ -e 's/: skip//g' \ -e 's/: fail//g' \ -e '/^--- pass:/d' tests.log fi done cd $saved_dir done