diff options
author | Karel Zak | 2013-05-13 13:13:24 +0200 |
---|---|---|
committer | Karel Zak | 2013-05-13 13:13:24 +0200 |
commit | 8810d532a86e60e42bb8862360d0b7328df8a6e2 (patch) | |
tree | 5f36a45417bf79dd9342db40e1f25f88cc30efb7 /tests/ts/losetup | |
parent | losetup: add --raw and --noheadings (diff) | |
download | kernel-qcow2-util-linux-8810d532a86e60e42bb8862360d0b7328df8a6e2.tar.gz kernel-qcow2-util-linux-8810d532a86e60e42bb8862360d0b7328df8a6e2.tar.xz kernel-qcow2-util-linux-8810d532a86e60e42bb8862360d0b7328df8a6e2.zip |
tests: add losetup tests
Signed-off-by: Karel Zak <kzak@redhat.com>
Diffstat (limited to 'tests/ts/losetup')
-rwxr-xr-x | tests/ts/losetup/losetup | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/tests/ts/losetup/losetup b/tests/ts/losetup/losetup new file mode 100755 index 000000000..29d4b4201 --- /dev/null +++ b/tests/ts/losetup/losetup @@ -0,0 +1,131 @@ +#!/bin/bash + +# +# Copyright (C) 2013 Karel Zak <kzak@redhat.com> +# +# This file is part of util-linux. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This file is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# + +TS_TOPDIR="$(dirname $0)/../.." +TS_DESC="losetup" + +. $TS_TOPDIR/functions.sh +ts_init "$*" +ts_skip_nonroot + +DEVICE=$(ts_scsi_debug_init dev_size_mb=11) +REFILE=$(ts_image_init 10) + +function lo_print { + local lo=$1 + echo "offset: $( $TS_CMD_LOSETUP --list --raw -n -O OFFSET $lo )" + echo "sizelimit: $( $TS_CMD_LOSETUP --list --raw -n -O SIZELIMIT $lo )" + echo "size: $( $TS_CMD_LSBLK -o SIZE -b -n -r $lo )" +} + +# +# file-* tests: Backing file is a regular file +# +BACKFILE="$REFILE" + +ts_init_subtest "file" +LODEV=$( $TS_CMD_LOSETUP --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + +ts_init_subtest "file-offset" +LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + + +ts_init_subtest "file-sizelimit" +LODEV=$( $TS_CMD_LOSETUP --sizelimit 3MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + + +ts_init_subtest "file-section" +LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --sizelimit 3MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + +rm -rf $BACKFILE + +# +# Backing file is a block device +# +BACKFILE="$DEVICE" + +ts_init_subtest "blkdev" +LODEV=$( $TS_CMD_LOSETUP --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + +ts_init_subtest "blkdev-offset" +LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + + +ts_init_subtest "blkdev-sizelimit" +LODEV=$( $TS_CMD_LOSETUP --sizelimit 3MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + + +ts_init_subtest "blkdev-section" +LODEV=$( $TS_CMD_LOSETUP --offset 1MiB --sizelimit 3MiB --find --show $BACKFILE ) +if [ -z "$LODEV" ]; then + ts_log "Failed to create loop device" +fi +lo_print $LODEV >> $TS_OUTPUT +$TS_CMD_LOSETUP -d $LODEV +ts_finalize_subtest + +udevadm settle + +rmmod scsi_debug + +ts_finalize + + + |