diff options
author | Ruediger Meier | 2014-05-11 08:50:28 +0200 |
---|---|---|
committer | Ruediger Meier | 2014-05-13 17:38:12 +0200 |
commit | f45df374ffc311220bd395da985b121eccfb4045 (patch) | |
tree | 6f9daba1ecfcd2523a6d70085d0e2997270a61e2 /tests/ts/mount | |
parent | tests: cleanup ts_scsi_debug_init (diff) | |
download | kernel-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-x | tests/ts/mount/umount-alltargets | 29 | ||||
-rwxr-xr-x | tests/ts/mount/umount-recursive | 21 |
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 |