tst_test.sh: Fix check for non-mounted device
1) unset TST_DEVICE if acquiring failed
2) do not try to umount the device in this case
Maybe sometimes missing $device in tst_umount()
is error, but mostly at least in case of df01.sh
it's not, therefore return without warning.
This fixes error:
df01 1 TBROK: Failed to acquire device
grep: Unmatched [, [^, [:, [., or [=
grep: Unmatched [, [^, [:, [., or [=
df01 1 TINFO: The tst_device 0 TINFO : Found free device 0 '/dev/loop0'
Test device='/dev/loop0'
tst_device 0 TINFO : Formatting /dev/loop0 with ext2 opts='' extra opts='' is not mounted, skipping umount
Fixes: 5c846a0f6 shell: Add $TST_DEVICE as default parameter to tst_umount
Acked-by: Cyril Hrubis <chrubis@suse.cz>
Signed-off-by: Petr Vorel <pvorel@suse.cz>
diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
index 7f08564..e0265c1 100644
--- a/testcases/lib/tst_test.sh
+++ b/testcases/lib/tst_test.sh
@@ -273,6 +273,8 @@
local device="${1:-$TST_DEVICE}"
local i=0
+ [ -z "$device" ] && return
+
if ! grep -q "$device" /proc/mounts; then
tst_res TINFO "The $device is not mounted, skipping umount"
return
@@ -545,6 +547,7 @@
TST_DEVICE=$(tst_device acquire)
if [ ! -b "$TST_DEVICE" -o $? -ne 0 ]; then
+ unset TST_DEVICE
tst_brk TBROK "Failed to acquire device"
fi