summaryrefslogtreecommitdiffstats
path: root/tests/ts/mount
diff options
context:
space:
mode:
authorRuediger Meier2014-05-11 08:50:28 +0200
committerRuediger Meier2014-05-13 17:38:12 +0200
commitf45df374ffc311220bd395da985b121eccfb4045 (patch)
tree6f9daba1ecfcd2523a6d70085d0e2997270a61e2 /tests/ts/mount
parenttests: cleanup ts_scsi_debug_init (diff)
downloadkernel-qcow2-util-linux-f45df374ffc311220bd395da985b121eccfb4045.tar.gz
kernel-qcow2-util-linux-f45df374ffc311220bd395da985b121eccfb4045.tar.xz
kernel-qcow2-util-linux-f45df374ffc311220bd395da985b121eccfb4045.zip
tests: ts_scsi_debug_init must not run in a subshell
ts_skip and ts_die won't work from subshell. Now we simply use TS_DEVICE which is globally set in that function. I've made sure that we never change TS_DEVICE variable after we've got it. So we could use it again for cleanup on exit in ts_{finalize,die,skip} functions. Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Diffstat (limited to 'tests/ts/mount')
-rwxr-xr-xtests/ts/mount/umount-alltargets29
-rwxr-xr-xtests/ts/mount/umount-recursive21
2 files changed, 26 insertions, 24 deletions
diff --git a/tests/ts/mount/umount-alltargets b/tests/ts/mount/umount-alltargets
index e3b5aec9a..9060524e6 100755
--- a/tests/ts/mount/umount-alltargets
+++ b/tests/ts/mount/umount-alltargets
@@ -17,10 +17,11 @@ ts_skip_nonroot
$TS_CMD_UMOUNT --help | grep -q all-targets
[ $? -eq 1 ] && ts_skip "all-targets unsupported"
-DEVICE=$(ts_scsi_debug_init dev_size_mb=50)
+# set global variable TS_DEVICE
+ts_scsi_debug_init dev_size_mb=50
ts_log "Create partitions"
-$TS_CMD_FDISK ${DEVICE} &> /dev/null <<EOF
+$TS_CMD_FDISK ${TS_DEVICE} &> /dev/null <<EOF
n
p
1
@@ -47,13 +48,13 @@ EOF
udevadm settle
ts_log "Create filesystem A"
-mkfs.ext2 ${DEVICE}1 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}1 &> /dev/null
ts_log "Create filesystem B"
-mkfs.ext2 ${DEVICE}2 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}2 &> /dev/null
ts_log "Create filesystem C"
-mkfs.ext2 ${DEVICE}3 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}3 &> /dev/null
ts_log "Create filesystem D"
-mkfs.ext2 ${DEVICE}4 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}4 &> /dev/null
udevadm settle
@@ -81,7 +82,7 @@ MOUNTPOINT=$TS_MOUNTPOINT
# The same device mounted on more places, umount all by mountpoint name
#
ts_init_subtest "all-targets-mnt"
-multi_mount ${DEVICE}1 $MOUNTPOINT
+multi_mount ${TS_DEVICE}1 $MOUNTPOINT
$TS_CMD_UMOUNT --all-targets ${MOUNTPOINT}1 >> $TS_OUTPUT 2>&1
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
@@ -90,8 +91,8 @@ ts_finalize_subtest
# The same device mounted on more places, umount all by device name
#
ts_init_subtest "all-targets-dev"
-multi_mount ${DEVICE}1 $MOUNTPOINT
-$TS_CMD_UMOUNT --all-targets ${DEVICE}1 >> $TS_OUTPUT 2>&1
+multi_mount ${TS_DEVICE}1 $MOUNTPOINT
+$TS_CMD_UMOUNT --all-targets ${TS_DEVICE}1 >> $TS_OUTPUT 2>&1
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
@@ -100,14 +101,14 @@ ts_finalize_subtest
# sub-mounts. Umount all by one umount all by top-level device name.
#
ts_init_subtest "all-targets-recursive"
-multi_mount ${DEVICE}1 $MOUNTPOINT
+multi_mount ${TS_DEVICE}1 $MOUNTPOINT
[ -d "${MOUNTPOINT}1/subA" ] || mkdir -p ${MOUNTPOINT}1/subA
-$TS_CMD_MOUNT ${DEVICE}2 ${MOUNTPOINT}1/subA
+$TS_CMD_MOUNT ${TS_DEVICE}2 ${MOUNTPOINT}1/subA
[ -d "${MOUNTPOINT}1/subA/subAB" ] || mkdir -p ${MOUNTPOINT}1/subA/subAB
-$TS_CMD_MOUNT ${DEVICE}3 ${MOUNTPOINT}1/subA/subAB
+$TS_CMD_MOUNT ${TS_DEVICE}3 ${MOUNTPOINT}1/subA/subAB
[ -d "${MOUNTPOINT}1/subB" ] || mkdir -p ${MOUNTPOINT}1/subB
-$TS_CMD_MOUNT ${DEVICE}4 ${MOUNTPOINT}1/subB
-$TS_CMD_UMOUNT --recursive --all-targets ${DEVICE}1 >> $TS_OUTPUT 2>&1
+$TS_CMD_MOUNT ${TS_DEVICE}4 ${MOUNTPOINT}1/subB
+$TS_CMD_UMOUNT --recursive --all-targets ${TS_DEVICE}1 >> $TS_OUTPUT 2>&1
[ $? == 0 ] || ts_log "umount failed"
ts_finalize_subtest
diff --git a/tests/ts/mount/umount-recursive b/tests/ts/mount/umount-recursive
index d55f61285..f393aed12 100755
--- a/tests/ts/mount/umount-recursive
+++ b/tests/ts/mount/umount-recursive
@@ -18,10 +18,11 @@ $TS_CMD_UMOUNT --help | grep -q recursive
[ $? -eq 1 ] && ts_skip "recursive unsupported"
ts_log "Init device"
-DEVICE=$(ts_scsi_debug_init dev_size_mb=50)
+# set global variable TS_DEVICE
+ts_scsi_debug_init dev_size_mb=50
ts_log "Create partitions"
-$TS_CMD_FDISK ${DEVICE} &> /dev/null <<EOF
+$TS_CMD_FDISK ${TS_DEVICE} &> /dev/null <<EOF
n
p
1
@@ -48,13 +49,13 @@ EOF
udevadm settle
ts_log "Create filesystem A"
-mkfs.ext2 ${DEVICE}1 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}1 &> /dev/null
ts_log "Create filesystem B"
-mkfs.ext2 ${DEVICE}2 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}2 &> /dev/null
ts_log "Create filesystem C"
-mkfs.ext2 ${DEVICE}3 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}3 &> /dev/null
ts_log "Create filesystem D"
-mkfs.ext2 ${DEVICE}4 &> /dev/null
+mkfs.ext2 ${TS_DEVICE}4 &> /dev/null
udevadm settle
@@ -63,12 +64,12 @@ ts_log "Do tests..."
[ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
ts_log "A) Mount root"
-$TS_CMD_MOUNT ${DEVICE}1 $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1
+$TS_CMD_MOUNT ${TS_DEVICE}1 $TS_MOUNTPOINT >> $TS_OUTPUT 2>&1
$TS_CMD_MOUNT --make-shared $TS_MOUNTPOINT
ts_log "B) Mount child"
mkdir -p $TS_MOUNTPOINT/mntB
-$TS_CMD_MOUNT ${DEVICE}2 $TS_MOUNTPOINT/mntB >> $TS_OUTPUT 2>&1
+$TS_CMD_MOUNT ${TS_DEVICE}2 $TS_MOUNTPOINT/mntB >> $TS_OUTPUT 2>&1
ts_log "B2) Mount child-bind"
mkdir -p $TS_MOUNTPOINT/bindB
@@ -76,10 +77,10 @@ $TS_CMD_MOUNT --bind $TS_MOUNTPOINT/mntB $TS_MOUNTPOINT/bindB >> $TS_OUTPUT 2>&1
ts_log "C) Mount child/child"
mkdir -p $TS_MOUNTPOINT/mntB/mnt{C,D}
-$TS_CMD_MOUNT ${DEVICE}3 $TS_MOUNTPOINT/mntB/mntC >> $TS_OUTPUT 2>&1
+$TS_CMD_MOUNT ${TS_DEVICE}3 $TS_MOUNTPOINT/mntB/mntC >> $TS_OUTPUT 2>&1
ts_log "D) Mount child/child"
-$TS_CMD_MOUNT ${DEVICE}4 $TS_MOUNTPOINT/mntB/mntD >> $TS_OUTPUT 2>&1
+$TS_CMD_MOUNT ${TS_DEVICE}4 $TS_MOUNTPOINT/mntB/mntD >> $TS_OUTPUT 2>&1
ts_log "E) Mount child-bind"
mkdir -p $TS_MOUNTPOINT/bindC