blob: 5c826a1766bdaca56b5ff87f4fcb5e0fbf7c43bb [file] [log] [blame]
#!/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