]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: mount/rlimit tries to restore mtab
authorRuediger Meier <ruediger.meier@ga-group.nl>
Thu, 2 Apr 2015 09:35:29 +0000 (11:35 +0200)
committerKarel Zak <kzak@redhat.com>
Wed, 29 Apr 2015 10:30:05 +0000 (12:30 +0200)
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
tests/ts/mount/rlimit

index 0edace51b00eea9609a5355fd5a215426856f16b..2eaeb501bee8d5cd64ea4b552a33e7e948f430d2 100755 (executable)
@@ -60,22 +60,31 @@ OLD_SUM=$(mtab_checksum)
        $TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT
 ) &> /dev/null
 NEW_SUM=$(mtab_checksum)
-$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
 [ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by mount" >> $TS_OUTPUT
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
+$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+ts_is_mounted $DEVICE && ts_die "$DEVICE is still mounted"
 ts_finalize_subtest
 
 
 ts_init_subtest "umount"
 [ -d "$TS_MOUNTPOINT" ] || mkdir -p $TS_MOUNTPOINT
 $TS_CMD_MOUNT $DEVICE $TS_MOUNTPOINT &> /dev/null
+ts_is_mounted $DEVICE || ts_die "Cannot find $DEVICE in /proc/mounts"
 OLD_SUM=$(mtab_checksum)
 (
        ulimit -f 1
        $TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
 ) &> /dev/null
 NEW_SUM=$(mtab_checksum)
-$TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
 [ $NEW_SUM = $OLD_SUM ] && echo "OK: mtab unmodified by umount" >> $TS_OUTPUT
+if ts_is_mounted $DEVICE; then
+       echo "FAIL: $DEVICE is still mounted" >> $TS_OUTPUT
+       $TS_CMD_UMOUNT $TS_MOUNTPOINT &> /dev/null
+else
+       # repair /etc/mtab
+       $TS_CMD_UMOUNT --fake $TS_MOUNTPOINT &> /dev/null
+fi
 ts_finalize_subtest