mirror of
https://git.yoctoproject.org/poky
synced 2026-05-30 12:29:55 +00:00
valgrind: enable ~500 more ptests
Add valgrind's top level config.h to the ptest package since it is used by several scripts to determine which tests to run. Drop the removal of: none/tests/shell, the content was already moved to: none/tests/scripts/shell so the filter useless and the files no longer cause a problem. Add a few more test directories that had been omitted. Add perf/bigcode for test: none/tests/bigcode Leave .c, .h, .S files in the ptest image since several of them are needed to run the tests. The overhead is ~13 MB which is high but keeping all test code is easier than figuring out which source files are needed and the entire valgrind-ptest package is ~115 MB so in this context it's an acceptable trade-off. Add bash dependency for ptest for none/tests/scripts/shell With core-image-minimal on qemux86-64/kvm: Recipe | Passed | Failed | Skipped | Time(s) before | 149 | 1 | 9 | 663 after | 648 | 12 | 60 | 1541 (From OE-Core rev: 083a5dd27d305ecd12214f2665460dbe06b96c2a) Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
fb5556a4b6
commit
ecb8b17efc
@@ -109,7 +109,7 @@ RDEPENDS_${PN} += "perl"
|
|||||||
# redirect functions like strlen.
|
# redirect functions like strlen.
|
||||||
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
|
RRECOMMENDS_${PN} += "${TCLIBC}-dbg"
|
||||||
|
|
||||||
RDEPENDS_${PN}-ptest += " file perl perl-module-file-glob sed ${PN}-dbg"
|
RDEPENDS_${PN}-ptest += " bash file perl perl-module-file-glob procps sed ${PN}-dbg"
|
||||||
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
|
RDEPENDS_${PN}-ptest_append_libc-glibc = " glibc-utils"
|
||||||
|
|
||||||
# One of the tests contains a bogus interpreter path on purpose.
|
# One of the tests contains a bogus interpreter path on purpose.
|
||||||
@@ -134,40 +134,45 @@ do_install_ptest() {
|
|||||||
for parent_dir in ${S} ${B} ; do
|
for parent_dir in ${S} ${B} ; do
|
||||||
cd $parent_dir
|
cd $parent_dir
|
||||||
|
|
||||||
# exclude shell or the package won't install
|
|
||||||
rm -rf none/tests/shell* 2>/dev/null
|
|
||||||
|
|
||||||
subdirs=" \
|
subdirs=" \
|
||||||
cachegrind/tests \
|
cachegrind/tests \
|
||||||
callgrind/tests \
|
callgrind/tests \
|
||||||
|
dhat/tests \
|
||||||
drd/tests \
|
drd/tests \
|
||||||
|
exp-bbv/tests \
|
||||||
|
exp-dhat/tests \
|
||||||
gdbserver_tests \
|
gdbserver_tests \
|
||||||
helgrind/tests \
|
helgrind/tests \
|
||||||
|
lackey/tests \
|
||||||
massif/tests \
|
massif/tests \
|
||||||
memcheck/tests \
|
memcheck/tests \
|
||||||
none/tests \
|
none/tests \
|
||||||
tests \
|
tests \
|
||||||
"
|
"
|
||||||
|
|
||||||
# Get the vg test scripts, filters, and expected files
|
# Get the vg test scripts, filters, and expected files
|
||||||
for dir in $subdirs ; do
|
for dir in $subdirs ; do
|
||||||
find $dir | cpio -pvdu ${D}${PTEST_PATH}
|
find $dir | cpio -pvdu ${D}${PTEST_PATH}
|
||||||
done
|
done
|
||||||
cd $saved_dir
|
cd $saved_dir
|
||||||
done
|
done
|
||||||
|
cp ${B}/config.h ${D}${PTEST_PATH}
|
||||||
|
mkdir ${D}${PTEST_PATH}/perf
|
||||||
|
cp ${B}/perf/bigcode ${D}${PTEST_PATH}/perf
|
||||||
|
|
||||||
# Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind
|
# Hide then restore a.c that is used by ann[12].vgtest in call/cachegrind
|
||||||
mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c
|
mv ${D}${PTEST_PATH}/cachegrind/tests/a.c ${D}${PTEST_PATH}/cachegrind/tests/a_c
|
||||||
# clean out build artifacts before building the rpm
|
# clean out build artifacts before building the package. Keep config.h for ptests.
|
||||||
|
mv ${D}${PTEST_PATH}/config.h ${D}${PTEST_PATH}/config_h
|
||||||
|
|
||||||
find ${D}${PTEST_PATH} \
|
find ${D}${PTEST_PATH} \
|
||||||
\( -name "Makefile*" \
|
\( \
|
||||||
|
-name "Makefile*" \
|
||||||
-o -name "*.o" \
|
-o -name "*.o" \
|
||||||
-o -name "*.c" \
|
\) \
|
||||||
-o -name "*.S" \
|
|
||||||
-o -name "*.h" \) \
|
|
||||||
-exec rm {} \;
|
-exec rm {} \;
|
||||||
mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
|
mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
|
||||||
touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test
|
touch ${D}${PTEST_PATH}/cachegrind/tests/a.c -r ${D}${PTEST_PATH}/cachegrind/tests/cgout-test
|
||||||
|
mv ${D}${PTEST_PATH}/config_h ${D}${PTEST_PATH}/config.h
|
||||||
|
|
||||||
# find *_annotate in ${bindir} for yocto build
|
# find *_annotate in ${bindir} for yocto build
|
||||||
sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest
|
sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest
|
||||||
|
|||||||
Reference in New Issue
Block a user