49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
#!/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
|