summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2016-09-29 13:18:18 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2016-10-03 17:49:56 +0200
commit9e33781d95f2fe7d412b97eb48cb8dddd1c07c61 (patch)
tree0c42b3abb0c3df489d711a768f0a9ce3b6bd6f14
parent43662fa081ccced622711aecfa21ef8d158a3dc3 (diff)
downloadlvm2-9e33781d95f2fe7d412b97eb48cb8dddd1c07c61.tar.gz
tests: proper wait usage
Fix missing wait so we have paired waiting. Also 'wait' for precise PID to get 'exit' code. Test for 'error' replacing only with newer snapshot targets. The old one will wait for resume. Note: 'wait -n' is not always available so can't be used..
-rw-r--r--test/shell/snapshot-remove-dmsetup.sh11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/shell/snapshot-remove-dmsetup.sh b/test/shell/snapshot-remove-dmsetup.sh
index 609df05b6..05bf72077 100644
--- a/test/shell/snapshot-remove-dmsetup.sh
+++ b/test/shell/snapshot-remove-dmsetup.sh
@@ -42,6 +42,7 @@ dmsetup suspend $vg-$lv1
# now this should pass without blocking
dmsetup suspend --noflush --nolockfs $vg1-snap &
+DMPID=$!
#dmsetup suspend $vg1-snap &
sleep .5
@@ -55,20 +56,28 @@ dmsetup resume $vg-$lv1
# otherwise --noudevsync would be needed
dmsetup resume $vg1-snap
+# Expecting success from 'dmsetup'
+wait $DMPID
+
# Try how force removal works
dmsetup suspend $vg-$lv1
# needs to fail as device is still open
not dmsetup remove --force $vg1-snap &
+DMPID=$!
+# on older snapshot target 'remove' will wait till $lv1 is resumed
+if aux target_at_least dm-snapshot 1 6 0 ; then
sleep .5
dmsetup table $vg1-snap | tee out
should grep -i error out
+fi
dmsetup resume $vg-$lv1
-wait
+# Expecting success from 'not dmsetup'
+wait $DMPID
# check it really is now 'error' target
dmsetup table $vg1-snap | tee out