diff options
author | Andrey Shinkevich <andrey.shinkevich@virtuozzo.com> | 2019-09-04 12:11:20 +0300 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2019-09-13 12:18:37 +0200 |
commit | 8af224d66b1c259d19d5edbb8ac3d93627c3492a (patch) | |
tree | 4c3d92a5ce273dbddfb6211f7f17f91e1b404891 /tests/qemu-iotests/common.rc | |
parent | 036d8cbffd7785052d511f5cc83b969f0e827be1 (diff) |
iotests: exclude killed processes from running under Valgrind
The Valgrind tool fails to manage its termination in multi-threaded
processes when they raise the signal SIGKILL. The bug has been reported
to the Valgrind maintainers and was registered as the bug #409141:
https://bugs.kde.org/show_bug.cgi?id=409141
Let's exclude such test cases from running under the Valgrind until a
new version with the bug fix is released because checking for the
memory issues is covered by other test cases.
Suggested-by: John Snow <jsnow@redhat.com>
Signed-off-by: Andrey Shinkevich <andrey.shinkevich@virtuozzo.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/qemu-iotests/common.rc')
-rw-r--r-- | tests/qemu-iotests/common.rc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/tests/qemu-iotests/common.rc b/tests/qemu-iotests/common.rc index f574d22ea5..51c57dbfe0 100644 --- a/tests/qemu-iotests/common.rc +++ b/tests/qemu-iotests/common.rc @@ -78,7 +78,7 @@ _qemu_proc_exec() { local VALGRIND_LOGFILE="$1" shift - if [ "${VALGRIND_QEMU}" == "y" ]; then + if [[ "${VALGRIND_QEMU}" == "y" && "${NO_VALGRIND}" != "y" ]]; then exec valgrind --log-file="${VALGRIND_LOGFILE}" --error-exitcode=99 "$@" else exec "$@" @@ -89,7 +89,7 @@ _qemu_proc_valgrind_log() { local VALGRIND_LOGFILE="$1" local RETVAL="$2" - if [ "${VALGRIND_QEMU}" == "y" ]; then + if [[ "${VALGRIND_QEMU}" == "y" && "${NO_VALGRIND}" != "y" ]]; then if [ $RETVAL == 99 ]; then cat "${VALGRIND_LOGFILE}" fi @@ -169,6 +169,14 @@ _qemu_vxhs_wrapper() return $RETVAL } +# Valgrind bug #409141 https://bugs.kde.org/show_bug.cgi?id=409141 +# Until valgrind 3.16+ is ubiquitous, we must work around a hang in +# valgrind when issuing sigkill. Disable valgrind for this invocation. +_NO_VALGRIND() +{ + NO_VALGRIND="y" "$@" +} + export QEMU=_qemu_wrapper export QEMU_IMG=_qemu_img_wrapper export QEMU_IO=_qemu_io_wrapper |