[OE-core] [PATCH 5/5] valgrind: fix call/cachegrind ptests

Randy MacLeod Randy.MacLeod at windriver.com
Tue May 14 03:57:16 UTC 2019


Use the *_annotate executables from ${bindir}

Actually install cachegrind/tests/a.c since it is used by
the call/cachegrind/tests/ann[12].vgtest files.

With this change and the previous commits, the ptest results
on qemux86-64 when invoked with:
    runqemu qemux86 kvm nographic slirp qemuparams="-m 2048"
are:

=== Test Summary ===
TOTAL: 159
PASSED: 149
FAILED: 1
SKIPPED: 9

Only drd/tests/pth_detached3 remains to be fixed.

Signed-off-by: Randy MacLeod <Randy.MacLeod at windriver.com>
---
 meta/recipes-devtools/valgrind/valgrind_3.15.0.bb | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
index 8fecdefb91..f8b6b003a1 100644
--- a/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
+++ b/meta/recipes-devtools/valgrind/valgrind_3.15.0.bb
@@ -160,6 +160,8 @@ do_install_ptest() {
         cd $saved_dir
     done
 
+    # 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
     find ${D}${PTEST_PATH} \
          \( -name "Makefile*" \
@@ -168,6 +170,14 @@ do_install_ptest() {
         -o -name "*.S" \
         -o -name "*.h" \) \
         -exec rm {} \;
+    mv ${D}${PTEST_PATH}/cachegrind/tests/a_c ${D}${PTEST_PATH}/cachegrind/tests/a.c
+
+    # 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/ann2.vgtest
+
+    sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann1.vgtest
+    sed -i s:\.\./\.\./callgrind/callgrind_annotate:${bindir}/callgrind_annotate: ${D}${PTEST_PATH}/callgrind/tests/ann2.vgtest
 
     # needed by massif tests
     cp ${B}/massif/ms_print ${D}${PTEST_PATH}/massif/ms_print
-- 
2.17.0



More information about the Openembedded-core mailing list