summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2014-10-01 08:53:27 +0200
committerPetr Rockai <prockai@redhat.com>2014-11-20 12:36:48 +0100
commit06020a53e441a38005f2f5fe9a4bae5cc642d3b9 (patch)
treee6c8c4834380b379060e125f07d4dd71eefd1c9d
parentdf8e1fdb2273bed199f9b64b2516c6ec50dede71 (diff)
downloadlvm2-06020a53e441a38005f2f5fe9a4bae5cc642d3b9.tar.gz
test: Make killing local (test) daemons more robust.
-rw-r--r--test/lib/aux.sh17
-rw-r--r--test/lib/utils.sh2
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