diff options
author | Petr Rockai <prockai@redhat.com> | 2014-10-01 08:53:27 +0200 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2014-11-20 12:36:48 +0100 |
commit | 06020a53e441a38005f2f5fe9a4bae5cc642d3b9 (patch) | |
tree | e6c8c4834380b379060e125f07d4dd71eefd1c9d | |
parent | df8e1fdb2273bed199f9b64b2516c6ec50dede71 (diff) | |
download | lvm2-06020a53e441a38005f2f5fe9a4bae5cc642d3b9.tar.gz |
test: Make killing local (test) daemons more robust.
-rw-r--r-- | test/lib/aux.sh | 17 | ||||
-rw-r--r-- | test/lib/utils.sh | 2 |
2 files changed, 13 insertions, 6 deletions
diff --git a/test/lib/aux.sh b/test/lib/aux.sh index 4fc285394..03d69ba59 100644 --- a/test/lib/aux.sh +++ b/test/lib/aux.sh @@ -209,11 +209,18 @@ teardown_devs() { } kill_sleep_kill_() { - if test -s "$1" ; then - if kill -TERM "$(< $1)" ; then - if test "$2" -eq 0 ; then sleep .1 ; else sleep 1 ; fi - kill -KILL "$(< $1)" 2>/dev/null || true - fi + pidfile=$1 + slow=$2 + if test -s $pidfile ; then + pid=$(< $pidfile) + kill -TERM $pid + if test $slow -eq 0 ; then sleep .1 ; else sleep 1 ; fi + kill -KILL $pid 2>/dev/null || true + wait=0 + while ps $pid > /dev/null && test $wait -le 10; do + sleep .5 + wait=$(($wait + 1)) + done fi } diff --git a/test/lib/utils.sh b/test/lib/utils.sh index 0599f4d87..2f7dc65b3 100644 --- a/test/lib/utils.sh +++ b/test/lib/utils.sh @@ -112,7 +112,7 @@ STACKTRACE() { test "${LVM_TEST_PARALLEL:-0}" -eq 1 -o -n "$RUNNING_DMEVENTD" -o -f LOCAL_DMEVENTD || { pgrep dmeventd &>/dev/null && \ - die "** During test dmeventd has been started!" + die "ERROR: The test started dmeventd unexpectedly." } # Get backtraces from coredumps |