* [PATCH 0/5] valgrind: ptests
@ 2021-12-30 1:37 Randy MacLeod
2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw)
To: openembedded-core
Tested on khem's glibc upgrade branch:
https://git.yoctoproject.org/poky-contrib/log/?h=kraj/poky-next
and poky master (
9b99eb9e36 tzdata: Remove no longer relevant RCONFLICTS:${PN}
Summary:
Work-around a glibc upgrade error in a way that also works for glibc-2.34 on master.
Fix up some ptest warnings and temporarily skip the boost_thread test for arm64.
Results:
On the branch currently known as master, the ptest summary is:
qemux86-64:
=== Test Summary ===
TOTAL: 730
PASSED: 711
FAILED: 0
SKIPPED: 19
DURATION: 1052
END: /usr/lib/valgrind/ptest
2021-12-29T23:12
STOP: ptest-runner
TOTAL: 1 FAIL: 0
qemuarm64:
TOTAL: 415
PASSED: 395
FAILED: 0
SKIPPED: 20
DURATION: 4521
END: /usr/lib/valgrind/ptest
2021-12-30T00:33
STOP: ptest-runner
TOTAL: 1 FAIL: 0
and the output from running: ptest-runner valgrind has no superfluous warnings:
root@qemuarm64:~# ptest-runner -l
Available ptests:
strace /usr/lib/strace/ptest/run-ptest
valgrind /usr/lib/valgrind/ptest/run-ptest
root@qemuarm64:~# ptest-runner valgrind
START: ptest-runner
2021-12-29T23:18
BEGIN: /usr/lib/valgrind/ptest
Hide valgrind tests that are non-deterministic
Reported at https://bugs.kde.org/show_bug.cgi?id=430321
Aarch64: Hide valgrind tests that result in defunct process and then out of memory
Run non-deterministic tests using taskset to limit them to a single core.
PASS: gdbserver_tests/mcblocklistsearch
PASS: gdbserver_tests/mcbreak
...
PASS: none/tests/vgprintf
PASS: none/tests/vgprintf_nvalgrind
...checking makefile consistency
...checking header files and include directives
Restore non-deterministic tests
Aarch64: Restore valgrind tests that result in defunct process and then out of memory
Restore valgrind tests that are non-deterministc
Failed test details...
=== Test Summary ===
TOTAL: 415
PASSED: 395
FAILED: 0
SKIPPED: 20
DURATION: 4521
END: /usr/lib/valgrind/ptest
2021-12-30T00:33
STOP: ptest-runner
TOTAL: 1 FAIL: 0
../Randy
Randy MacLeod (5):
valgrind: Add util-linux-taskset ptest dependency
valgrind: backport rseq work-around
valgrind: remove duplicate and skipped tests from remove-for-aarch64
valgrind: skip boost_thread for aarch64 ptests
valgrind: make run-ptest better
...plement-linux-rseq-syscall-as-ENOSYS.patch | 198 ++++++++++++++++++
.../valgrind/valgrind/remove-for-aarch64 | 9 +-
.../valgrind/valgrind/run-ptest | 23 +-
.../valgrind/valgrind_3.18.1.bb | 4 +-
4 files changed, 216 insertions(+), 18 deletions(-)
create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch
--
2.31.1
^ permalink raw reply [flat|nested] 6+ messages in thread* [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod @ 2021-12-30 1:37 ` Randy MacLeod 2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod ` (3 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw) To: openembedded-core We are using taskset to improve the reproducability of tests listed in: meta/recipes-devtools/valgrind/valgrind/taskset_nondeterministic_tests so we need to have the ptests depend on util-linux-taskset. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- meta/recipes-devtools/valgrind/valgrind_3.18.1.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb index e825f83d5c..d8f82a4100 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb @@ -133,7 +133,8 @@ RDEPENDS:${PN}-ptest += " bash coreutils curl file \ perl-module-file-basename perl-module-file-glob perl-module-getopt-long \ perl-module-overloading perl-module-cwd perl-module-ipc-open3 \ perl-module-carp perl-module-symbol \ - procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg" + procps sed ${PN}-dbg ${PN}-src ${TCLIBC}-src gcc-runtime-dbg \ + util-linux-taskset" RDEPENDS:${PN}-ptest:append:libc-glibc = " glibc-utils" # One of the tests contains a bogus interpreter path on purpose. -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/5] valgrind: backport rseq work-around 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod 2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod @ 2021-12-30 1:37 ` Randy MacLeod 2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod ` (2 subsequent siblings) 4 siblings, 0 replies; 6+ messages in thread From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw) To: openembedded-core Using glibc-2.35-alpha, valgrind ptests mostly all fail with the error: WARNING: unhandled amd64-linux syscall: 334 You may be able to write your own handler. With this patch applied qemux86-64 ptest results were: TOTAL: 728 PASSED: 709 FAILED: 0 SKIPPED: 19 This patch implements the Linux rseq syscall as ENOSYS while a proper fix is being worked on as desribed in the patch commit log. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- ...plement-linux-rseq-syscall-as-ENOSYS.patch | 198 ++++++++++++++++++ .../valgrind/valgrind_3.18.1.bb | 1 + 2 files changed, 199 insertions(+) create mode 100644 meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch diff --git a/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch b/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch new file mode 100644 index 0000000000..be1536980c --- /dev/null +++ b/meta/recipes-devtools/valgrind/valgrind/0001-Implement-linux-rseq-syscall-as-ENOSYS.patch @@ -0,0 +1,198 @@ +From 1024237358f01009fe233cb1294f3b8211304eaa Mon Sep 17 00:00:00 2001 +From: Mark Wielaard <mark@klomp.org> +Date: Fri, 10 Dec 2021 17:41:59 +0100 +Subject: [PATCH] Implement linux rseq syscall as ENOSYS + +This implements rseq for amd64, arm, arm64, ppc32, ppc64, +s390x and x86 linux as ENOSYS (without warning). + +glibc will start using rseq to accelerate sched_getcpu, if +available. This would cause a warning from valgrind every +time a new thread is started. + +Real rseq (restartable sequences) support is pretty hard, so +for now just explicitly return ENOSYS (just like we do for clone3). + +Upstream-Status: Backport [ 1024237358f01009fe233cb1294f3b8211304eaa ] + +https://sourceware.org/pipermail/libc-alpha/2021-December/133656.html +--- + coregrind/m_syswrap/syswrap-amd64-linux.c | 2 ++ + coregrind/m_syswrap/syswrap-arm-linux.c | 1 + + coregrind/m_syswrap/syswrap-arm64-linux.c | 3 ++- + coregrind/m_syswrap/syswrap-ppc32-linux.c | 2 ++ + coregrind/m_syswrap/syswrap-ppc64-linux.c | 2 ++ + coregrind/m_syswrap/syswrap-s390x-linux.c | 2 ++ + coregrind/m_syswrap/syswrap-x86-linux.c | 2 ++ + include/vki/vki-scnums-arm-linux.h | 1 + + include/vki/vki-scnums-arm64-linux.h | 4 +++- + include/vki/vki-scnums-ppc32-linux.h | 1 + + include/vki/vki-scnums-ppc64-linux.h | 1 + + include/vki/vki-scnums-s390x-linux.h | 5 ++++- + 12 files changed, 23 insertions(+), 3 deletions(-) + +diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c +index 5062324a1..18b25f80a 100644 +--- a/coregrind/m_syswrap/syswrap-amd64-linux.c ++++ b/coregrind/m_syswrap/syswrap-amd64-linux.c +@@ -862,6 +862,8 @@ static SyscallTableEntry syscall_table[] = { + + LINXY(__NR_statx, sys_statx), // 332 + ++ GENX_(__NR_rseq, sys_ni_syscall), // 334 ++ + LINX_(__NR_membarrier, sys_membarrier), // 324 + + LINX_(__NR_copy_file_range, sys_copy_file_range), // 326 +diff --git a/coregrind/m_syswrap/syswrap-arm-linux.c b/coregrind/m_syswrap/syswrap-arm-linux.c +index 556dd844b..d583cef0c 100644 +--- a/coregrind/m_syswrap/syswrap-arm-linux.c ++++ b/coregrind/m_syswrap/syswrap-arm-linux.c +@@ -1024,6 +1024,7 @@ static SyscallTableEntry syscall_main_table[] = { + LINX_(__NR_pwritev2, sys_pwritev2), // 393 + + LINXY(__NR_statx, sys_statx), // 397 ++ GENX_(__NR_rseq, sys_ni_syscall), // 398 + + LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 + LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 +diff --git a/coregrind/m_syswrap/syswrap-arm64-linux.c b/coregrind/m_syswrap/syswrap-arm64-linux.c +index b87107727..2066a38ea 100644 +--- a/coregrind/m_syswrap/syswrap-arm64-linux.c ++++ b/coregrind/m_syswrap/syswrap-arm64-linux.c +@@ -823,8 +823,9 @@ static SyscallTableEntry syscall_main_table[] = { + // (__NR_pkey_mprotect, sys_ni_syscall), // 288 + // (__NR_pkey_alloc, sys_ni_syscall), // 289 + // (__NR_pkey_free, sys_ni_syscall), // 290 ++ LINXY(__NR_statx, sys_statx), // 291 + +- LINXY(__NR_statx, sys_statx), // 397 ++ GENX_(__NR_rseq, sys_ni_syscall), // 293 + + LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 + LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 +diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c +index 6263ab845..637b2504e 100644 +--- a/coregrind/m_syswrap/syswrap-ppc32-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c +@@ -1028,6 +1028,8 @@ static SyscallTableEntry syscall_table[] = { + + LINXY(__NR_statx, sys_statx), // 383 + ++ GENX_(__NR_rseq, sys_ni_syscall), // 387 ++ + LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 + LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 + +diff --git a/coregrind/m_syswrap/syswrap-ppc64-linux.c b/coregrind/m_syswrap/syswrap-ppc64-linux.c +index a26b41c32..93956d3cc 100644 +--- a/coregrind/m_syswrap/syswrap-ppc64-linux.c ++++ b/coregrind/m_syswrap/syswrap-ppc64-linux.c +@@ -1019,6 +1019,8 @@ static SyscallTableEntry syscall_table[] = { + + LINXY(__NR_statx, sys_statx), // 383 + ++ GENX_(__NR_rseq, sys_ni_syscall), // 387 ++ + LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 + LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 + LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 +diff --git a/coregrind/m_syswrap/syswrap-s390x-linux.c b/coregrind/m_syswrap/syswrap-s390x-linux.c +index 5c9209859..73f9684c4 100644 +--- a/coregrind/m_syswrap/syswrap-s390x-linux.c ++++ b/coregrind/m_syswrap/syswrap-s390x-linux.c +@@ -860,6 +860,8 @@ static SyscallTableEntry syscall_table[] = { + + LINXY(__NR_statx, sys_statx), // 379 + ++ GENX_(__NR_rseq, sys_ni_syscall), // 381 ++ + LINXY(__NR_io_uring_setup, sys_io_uring_setup), // 425 + LINXY(__NR_io_uring_enter, sys_io_uring_enter), // 426 + LINXY(__NR_io_uring_register, sys_io_uring_register), // 427 +diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c +index 1d8f45d33..8662ff501 100644 +--- a/coregrind/m_syswrap/syswrap-x86-linux.c ++++ b/coregrind/m_syswrap/syswrap-x86-linux.c +@@ -1619,6 +1619,8 @@ static SyscallTableEntry syscall_table[] = { + /* Explicitly not supported on i386 yet. */ + GENX_(__NR_arch_prctl, sys_ni_syscall), // 384 + ++ GENX_(__NR_rseq, sys_ni_syscall), // 386 ++ + LINXY(__NR_clock_gettime64, sys_clock_gettime64), // 403 + LINX_(__NR_clock_settime64, sys_clock_settime64), // 404 + +diff --git a/include/vki/vki-scnums-arm-linux.h b/include/vki/vki-scnums-arm-linux.h +index ff560e19d..485db8b26 100644 +--- a/include/vki/vki-scnums-arm-linux.h ++++ b/include/vki/vki-scnums-arm-linux.h +@@ -432,6 +432,7 @@ + #define __NR_pkey_alloc 395 + #define __NR_pkey_free 396 + #define __NR_statx 397 ++#define __NR_rseq 398 + + + +diff --git a/include/vki/vki-scnums-arm64-linux.h b/include/vki/vki-scnums-arm64-linux.h +index 9aa3b2b5f..acdfb39c6 100644 +--- a/include/vki/vki-scnums-arm64-linux.h ++++ b/include/vki/vki-scnums-arm64-linux.h +@@ -323,9 +323,11 @@ + #define __NR_pkey_alloc 289 + #define __NR_pkey_free 290 + #define __NR_statx 291 ++#define __NR_io_pgetevents 291 ++#define __NR_rseq 293 + + #undef __NR_syscalls +-#define __NR_syscalls 292 ++#define __NR_syscalls 294 + + ///* + // * All syscalls below here should go away really, +diff --git a/include/vki/vki-scnums-ppc32-linux.h b/include/vki/vki-scnums-ppc32-linux.h +index 6987ad941..08fa77df0 100644 +--- a/include/vki/vki-scnums-ppc32-linux.h ++++ b/include/vki/vki-scnums-ppc32-linux.h +@@ -415,6 +415,7 @@ + #define __NR_pkey_alloc 384 + #define __NR_pkey_free 385 + #define __NR_pkey_mprotect 386 ++#define __NR_rseq 387 + + #endif /* __VKI_SCNUMS_PPC32_LINUX_H */ + +diff --git a/include/vki/vki-scnums-ppc64-linux.h b/include/vki/vki-scnums-ppc64-linux.h +index 6827964fd..a76fa6d32 100644 +--- a/include/vki/vki-scnums-ppc64-linux.h ++++ b/include/vki/vki-scnums-ppc64-linux.h +@@ -407,6 +407,7 @@ + #define __NR_pkey_alloc 384 + #define __NR_pkey_free 385 + #define __NR_pkey_mprotect 386 ++#define __NR_rseq 387 + + #endif /* __VKI_SCNUMS_PPC64_LINUX_H */ + +diff --git a/include/vki/vki-scnums-s390x-linux.h b/include/vki/vki-scnums-s390x-linux.h +index 6487e20c9..869c04584 100644 +--- a/include/vki/vki-scnums-s390x-linux.h ++++ b/include/vki/vki-scnums-s390x-linux.h +@@ -342,8 +342,11 @@ + #define __NR_s390_guarded_storage 378 + #define __NR_statx 379 + #define __NR_s390_sthyi 380 ++#define __NR_kexec_file_load 381 ++#define __NR_io_pgetevents 382 ++#define __NR_rseq 383 + +-#define NR_syscalls 381 ++#define NR_syscalls 384 + + /* + * There are some system calls that are not present on 64 bit, some +-- +2.30.2 + diff --git a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb index d8f82a4100..7837034f92 100644 --- a/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb +++ b/meta/recipes-devtools/valgrind/valgrind_3.18.1.bb @@ -42,6 +42,7 @@ SRC_URI = "https://sourceware.org/pub/valgrind/valgrind-${PV}.tar.bz2 \ file://s390x_vec_op_t.patch \ file://0001-none-tests-fdleak_cmsg.stderr.exp-adjust-tmp-paths.patch \ file://0001-memcheck-tests-Fix-timerfd-syscall-test.patch \ + file://0001-Implement-linux-rseq-syscall-as-ENOSYS.patch \ " SRC_URI[sha256sum] = "00859aa13a772eddf7822225f4b46ee0d39afbe071d32778da4d99984081f7f5" UPSTREAM_CHECK_REGEX = "valgrind-(?P<pver>\d+(\.\d+)+)\.tar" -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod 2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod 2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod @ 2021-12-30 1:37 ` Randy MacLeod 2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod 2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod 4 siblings, 0 replies; 6+ messages in thread From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw) To: openembedded-core The valgrind ptest script warns about tests such as: mv: cannot stat 'drd/tests/bar_bad_xml.vgtest': No such file or directory Since these tests were either in both remove-for-* lists or were not installed since they fail everywhere as noted in: 85a0d61025 valgrind: fix the remaining ptest failures 984ffe3ab4 valgrind: Disable leak_cpp_interior test remove them from the remove-for-aarch64 list Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- .../recipes-devtools/valgrind/valgrind/remove-for-aarch64 | 8 -------- 1 file changed, 8 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index 440e8bec31..ef48458c3b 100644 --- a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -32,7 +32,6 @@ drd/tests/annotate_trace_memory drd/tests/annotate_trace_memory_xml drd/tests/atomic_var drd/tests/bar_bad -drd/tests/bar_bad_xml drd/tests/bar_trivial drd/tests/bug-235681 drd/tests/bug322621 @@ -66,7 +65,6 @@ drd/tests/pth_barrier2 drd/tests/pth_barrier3 drd/tests/pth_barrier_race drd/tests/pth_barrier_reinit -drd/tests/pth_barrier_thr_cr drd/tests/pth_broadcast drd/tests/pth_cancel_locked drd/tests/pth_cleanup_handler @@ -109,7 +107,6 @@ drd/tests/tc05_simple_race drd/tests/tc06_two_races drd/tests/tc07_hbl1 drd/tests/tc08_hbl2 -drd/tests/tc09_bad_unlock drd/tests/tc10_rec_lock drd/tests/tc11_XCHG drd/tests/tc12_rwl_trivial @@ -174,7 +171,6 @@ helgrind/tests/tc21_pthonce helgrind/tests/tc22_exit_w_lock helgrind/tests/tc23_bogus_condwait helgrind/tests/tc24_nonzero_sem -helgrind/tests/tls_threads memcheck/tests/accounting memcheck/tests/addressable memcheck/tests/arm64-linux/scalar @@ -194,13 +190,11 @@ memcheck/tests/dw4 memcheck/tests/err_disable4 memcheck/tests/err_disable_arange1 memcheck/tests/leak-autofreepool-5 -memcheck/tests/leak_cpp_interior memcheck/tests/linux/lsframe1 memcheck/tests/linux/lsframe2 memcheck/tests/linux/with-space memcheck/tests/origin5-bz2 memcheck/tests/origin6-fp -memcheck/tests/overlap memcheck/tests/partial_load_dflt memcheck/tests/pdb-realloc2 memcheck/tests/sh-mem @@ -208,7 +202,6 @@ memcheck/tests/sh-mem-random memcheck/tests/sigaltstack memcheck/tests/sigkill memcheck/tests/signal2 -memcheck/tests/supp_unknown memcheck/tests/threadname memcheck/tests/threadname_xml memcheck/tests/unit_oset @@ -236,5 +229,4 @@ memcheck/tests/wrapmallocstatic memcheck/tests/writev1 memcheck/tests/xml1 memcheck/tests/linux/stack_changes -gdbserver_tests/hginfo memcheck/tests/linux/timerfd-syscall -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod ` (2 preceding siblings ...) 2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod @ 2021-12-30 1:37 ` Randy MacLeod 2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod 4 siblings, 0 replies; 6+ messages in thread From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw) To: openembedded-core The drd/tests/boost_thread test passes when run interactively on qemuarm64 but fails for most runs when run in qemu on an arm worker such as ubuntu1804-arm-1 from the Yocto autobuilder cluster. Skip the test until we fix the problem. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 index ef48458c3b..887bfd2766 100644 --- a/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 +++ b/meta/recipes-devtools/valgrind/valgrind/remove-for-aarch64 @@ -33,6 +33,7 @@ drd/tests/annotate_trace_memory_xml drd/tests/atomic_var drd/tests/bar_bad drd/tests/bar_trivial +drd/tests/boost_thread drd/tests/bug-235681 drd/tests/bug322621 drd/tests/circular_buffer -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 5/5] valgrind: make run-ptest better 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod ` (3 preceding siblings ...) 2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod @ 2021-12-30 1:37 ` Randy MacLeod 4 siblings, 0 replies; 6+ messages in thread From: Randy MacLeod @ 2021-12-30 1:37 UTC (permalink / raw) To: openembedded-core There were warnings about non-existent files when there was a duplicate in the remove-for-aarch list and the non-deterministic lists so check if the files still exists before trying to deal with it. Also restore the tests in the opposite order that they were hidden. Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com> --- .../valgrind/valgrind/run-ptest | 23 +++++++++++-------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/meta/recipes-devtools/valgrind/valgrind/run-ptest b/meta/recipes-devtools/valgrind/valgrind/run-ptest index caeae84d4f..15cf03f9d2 100755 --- a/meta/recipes-devtools/valgrind/valgrind/run-ptest +++ b/meta/recipes-devtools/valgrind/valgrind/run-ptest @@ -32,13 +32,16 @@ if [ "$arch" = "aarch64" ]; then done fi -echo "Run flaky tests using taskset to limit them to a single core." +echo "Run non-deterministic tests using taskset to limit them to a single core." for i in `cat taskset_nondeterministic_tests`; do - taskset 0x00000001 perl tests/vg_regtest --valgrind=${VALGRIND_BIN} --valgrind-lib=${VALGRIND_LIBEXECDIR} --yocto-ptest $i 2>&1|tee -a ${LOG} - mv $i.vgtest $i.IGNORE + # The remove-for-aarch64 and taskset_nondeterministic_tests may overlap so + # check if a file exist. + if test -f "${i}.vgtest"; then + taskset 0x00000001 perl tests/vg_regtest --valgrind=${VALGRIND_BIN} --valgrind-lib=${VALGRIND_LIBEXECDIR} --yocto-ptest $i 2>&1|tee -a ${LOG} + mv $i.vgtest $i.IGNORE + fi done - cd ${VALGRIND_LIB}/ptest && ./tests/vg_regtest \ --valgrind=${VALGRIND_BIN} \ --valgrind-lib=${VALGRIND_LIBEXECDIR} \ @@ -51,6 +54,13 @@ cd ${VALGRIND_LIB}/ptest && \ gdbserver_tests ${TOOLS} ${EXP_TOOLS} \ 2>&1|tee -a ${LOG} +echo "Restore non-deterministic tests" +for i in `cat taskset_nondeterministic_tests`; do + if test -f "${i}.vgtest.IGNORE"; then + mv $i.IGNORE $i.vgtest; + fi +done + if [ "$arch" = "aarch64" ]; then echo "Aarch64: Restore valgrind tests that result in defunct process and then out of memory" for i in `cat remove-for-aarch64`; do @@ -63,11 +73,6 @@ for i in `cat remove-for-all`; do mv $i.IGNORE $i.vgtest; done -echo "Restore flaky and other non-deterministic tests" -for i in `cat taskset_nondeterministic_tests`; do - mv $i.IGNORE $i.vgtest; -done - echo "Failed test details..." failed_tests=`grep FAIL: ${LOG} | awk '{print $2}'` for test in $failed_tests; do -- 2.31.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-12-30 1:37 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-12-30 1:37 [PATCH 0/5] valgrind: ptests Randy MacLeod 2021-12-30 1:37 ` [PATCH 1/5] valgrind: Add util-linux-taskset ptest dependency Randy MacLeod 2021-12-30 1:37 ` [PATCH 2/5] valgrind: backport rseq work-around Randy MacLeod 2021-12-30 1:37 ` [PATCH 3/5] valgrind: remove duplicate and skipped tests from remove-for-aarch64 Randy MacLeod 2021-12-30 1:37 ` [PATCH 4/5] valgrind: skip boost_thread for aarch64 ptests Randy MacLeod 2021-12-30 1:37 ` [PATCH 5/5] valgrind: make run-ptest better Randy MacLeod
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox