From 466da710e03149187c05dcfd598aa66c32158496 Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Tue, 18 Jul 2017 21:17:51 +0200 Subject: [PATCH] tests: avoid endless loops If there is some problem with device removal avoid generating very long error logs... --- test/shell/pvmove-resume-1.sh | 15 +++++++++++---- test/shell/pvmove-resume-2.sh | 16 ++++++++++++---- 2 files changed, 23 insertions(+), 8 deletions(-) diff --git a/test/shell/pvmove-resume-1.sh b/test/shell/pvmove-resume-1.sh index ff101996b..ddebcb90b 100644 --- a/test/shell/pvmove-resume-1.sh +++ b/test/shell/pvmove-resume-1.sh @@ -54,10 +54,17 @@ test_pvmove_resume() { wait - while dmsetup status "$vg-$lv1"; do dmsetup remove "$vg-$lv1" || true; done - while dmsetup status "$vg1-$lv1"; do dmsetup remove "$vg1-$lv1" || true; done - while dmsetup status "$vg-pvmove0"; do dmsetup remove "$vg-pvmove0" || true; done - while dmsetup status "$vg1-pvmove0"; do dmsetup remove "$vg1-pvmove0" || true; done + local finished + for i in {1..100}; do + finished=1 + for d in "$vg-$lv1" "$vg1-$lv1" "$vg-pvmove0" "$vg1-pvmove0" ; do + dmsetup status "$d" 2>/dev/null && { + dmsetup remove "$d" || finished=0 + } + done + test "$finished" -eq 0 || break + done + test "$finished" -eq 0 && die "Can't remove device" check lv_attr_bit type $vg/pvmove0 "p" check lv_attr_bit type $vg1/pvmove0 "p" diff --git a/test/shell/pvmove-resume-2.sh b/test/shell/pvmove-resume-2.sh index 50c4233d0..5e9ad8124 100644 --- a/test/shell/pvmove-resume-2.sh +++ b/test/shell/pvmove-resume-2.sh @@ -44,9 +44,17 @@ test_pvmove_resume() { wait - while dmsetup status "$vg-$lv1"; do dmsetup remove "$vg-$lv1" || true; done - while dmsetup status "$vg-$lv2"; do dmsetup remove "$vg-$lv2" || true; done - while dmsetup status "$vg-pvmove0"; do dmsetup remove "$vg-pvmove0" || true; done + local finished + for i in {1..100}; do + finished=1 + for d in "$vg-$lv1" "$vg-$lv2" "$vg-pvmove0" ; do + dmsetup status "$d" 2>/dev/null && { + dmsetup remove "$d" || finished=0 + } + done + test "$finished" -eq 0 || break + done + test "$finished" -eq 0 && die "Can't remove device" check lv_attr_bit type $vg/pvmove0 "p" @@ -59,7 +67,7 @@ test_pvmove_resume() { # errors, based on the fact pvmove is killed -9 # Restart clvmd kill "$(< LOCAL_CLVMD)" - for i in $(seq 1 100) ; do + for i in {1 100} ; do test $i -eq 100 && die "Shutdown of clvmd is too slow." test -e "$CLVMD_PIDFILE" || break sleep .1 -- 2.43.5