jemalloc: include the missing shell scripts and source the corresponds shell scripts for some test cases.

The test cases in jemalloc require the appropriate value to be exported
to MALLOC_CONF, which is stored in shell scripts.
The privious script just ran the test cases without exporting value, causing
the tests to fail.
Include the missing shell scripts, and source them before running the test
cases now.

Signed-off-by: Wentao Zhang <wentao.zhang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Wentao Zhang 2023-04-03 16:16:35 +08:00 committed by Khem Raj
parent 356b224344
commit b3274b4e90
2 changed files with 33 additions and 3 deletions

View File

@ -1,9 +1,37 @@
#!/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
@ -18,4 +46,3 @@ for dir in tests/* ; do
done
cd $saved_dir
done

View File

@ -42,10 +42,13 @@ do_compile_ptest() {
do_install_ptest() {
install -d ${D}${PTEST_PATH}/tests
subdirs="test/unit test/integration test/stress "
subdirs="unit integration stress "
for tooltest in ${subdirs}
do
cp -r ${B}/${tooltest} ${D}${PTEST_PATH}/tests
cp -r ${B}/test/${tooltest} ${D}${PTEST_PATH}/tests
if find ${S}/test/${tooltest}/ -name '*.sh' -print -quit | grep -q .; then
cp ${S}/test/${tooltest}/*.sh ${D}${PTEST_PATH}/tests/${tooltest}
fi
done
find ${D}${PTEST_PATH}/tests \( -name "*.d" -o -name "*.o" \) -exec rm -f {} \;
}