diff options
author | Petr Rockai <prockai@redhat.com> | 2014-10-01 08:53:27 +0200 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2014-10-01 08:53:27 +0200 |
commit | f9472ee934cdd741047f65ed125ad649dd470c2b (patch) | |
tree | cf069b2a1e85153497a47a9f3d6a37954aaf8eba | |
parent | 930e597413f5ce906bd1fddce32c065481046acd (diff) | |
download | lvm2-f9472ee934cdd741047f65ed125ad649dd470c2b.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 5db209fb2..1a0229583 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 |