From ecb8b17efcb07e576f6693d05ceeffa65eae957e Mon Sep 17 00:00:00 2001 From: Randy MacLeod Date: Tue, 10 Sep 2019 17:41:33 -0400 Subject: 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 Signed-off-by: Ross Burton Signed-off-by: Richard Purdie --- meta/recipes-devtools/valgrind/valgrind_3.15.0.bb | 25 ++++++++++++++--------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb index 4e89c604d6..7bb6001d90 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb @@ -109,7 +109,7 @@ RDEPENDS_${PN} += "perl" # redirect functions like strlen. 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" # 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 cd $parent_dir - # exclude shell or the package won't install - rm -rf none/tests/shell* 2>/dev/null - subdirs=" \ cachegrind/tests \ callgrind/tests \ + dhat/tests \ drd/tests \ + exp-bbv/tests \ + exp-dhat/tests \ gdbserver_tests \ helgrind/tests \ + lackey/tests \ massif/tests \ memcheck/tests \ none/tests \ tests \ " - # Get the vg test scripts, filters, and expected files for dir in $subdirs ; do find $dir | cpio -pvdu ${D}${PTEST_PATH} done cd $saved_dir 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 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} \ - \( -name "Makefile*" \ + \( \ + -name "Makefile*" \ -o -name "*.o" \ - -o -name "*.c" \ - -o -name "*.S" \ - -o -name "*.h" \) \ + \) \ -exec rm {} \; 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 + mv ${D}${PTEST_PATH}/config_h ${D}${PTEST_PATH}/config.h # find *_annotate in ${bindir} for yocto build sed -i s:\.\./\.\./cachegrind/cg_annotate:${bindir}/cg_annotate: ${D}${PTEST_PATH}/cachegrind/tests/ann1.vgtest -- cgit 1.2.3-korg