[lvm-devel] master - tests: fix detection of running dmeventd after test
Zdenek Kabelac
zkabelac at sourceware.org
Wed Jul 12 11:53:21 UTC 2017
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=5a91b0a2e24dca07441aefb09fcaccaf98088a03
Commit: 5a91b0a2e24dca07441aefb09fcaccaf98088a03
Parent: d9ef564e42390e290241ec3a2e3988c1067a0139
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Wed Jul 12 13:38:07 2017 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Wed Jul 12 13:38:07 2017 +0200
tests: fix detection of running dmeventd after test
The checking order here has happend after TESTDIR was removed
resulting in weird further error on trap path.
Properly check for unexpected dmeventd before removing TESTDIR
since 'trap' codepath is still using it.
Also try to kill this unexpected dmeventd so testing is
not skipping all next dmeventd tests.
(Downside would be - if user would be accidentally starting
dmeventd by some regular system admin work - such dmeventd
might be killd if it's unused. It can't kill dmeventd in-use.
---
test/lib/aux.sh | 11 +++++++----
test/lib/utils.sh | 10 +++++-----
2 files changed, 12 insertions(+), 9 deletions(-)
diff --git a/test/lib/aux.sh b/test/lib/aux.sh
index 9f60430..a8b6bea 100644
--- a/test/lib/aux.sh
+++ b/test/lib/aux.sh
@@ -589,16 +589,19 @@ teardown() {
return 1
}
+ if test "${LVM_TEST_PARALLEL:-0}" = 0 && test -z "$RUNNING_DMEVENTD"; then
+ not pgrep dmeventd &>/dev/null # printed in STACKTRACE
+ fi
+
+ echo -n .
+
test -n "$TESTDIR" && {
cd "$TESTOLDPWD" || die "Failed to enter $TESTOLDPWD"
+ # after this delete no further write is possible
rm -rf "$TESTDIR" || echo BLA
}
echo "ok"
-
- if test "${LVM_TEST_PARALLEL:-0}" = 1 || test -n "$RUNNING_DMEVENTD"; then
- not pgrep dmeventd #&>/dev/null
- fi
}
prepare_loop() {
diff --git a/test/lib/utils.sh b/test/lib/utils.sh
index f8bb949..4d46ca9 100644
--- a/test/lib/utils.sh
+++ b/test/lib/utils.sh
@@ -124,10 +124,11 @@ STACKTRACE() {
stacktrace
- test "${LVM_TEST_PARALLEL:-0}" -eq 1 -o -n "$RUNNING_DMEVENTD" -o -f LOCAL_DMEVENTD || {
- pgrep dmeventd &>/dev/null && \
- die "ERROR: The test started dmeventd unexpectedly."
- }
+ test "${LVM_TEST_PARALLEL:-0}" -eq 0 && test -z "$RUNNING_DMEVENTD" && \
+ test ! -f LOCAL_DMEVENTD && pgrep dmeventd >DPID 2>/dev/null && {
+ echo "## ERROR: The test started dmeventd ($(< DPID)) unexpectedly."
+ kill "$(< DPID)"
+ }
# Get backtraces from coredumps
if which gdb &>/dev/null; then
@@ -143,7 +144,6 @@ STACKTRACE() {
sed -e "s,.*generated by \`\([^ ']*\).*,\1,") || continue
gdb -batch -c "$i" -x gdb_commands.txt "$(which "$bin")" || continue
done
- rm -f gdb_commands.txt
fi
test -f SKIP_THIS_TEST && exit 200
More information about the lvm-devel
mailing list