From 528a5bf6ad1f90366c6422a2d1488f88a5df4abb Mon Sep 17 00:00:00 2001 From: David Sterba Date: Fri, 1 Sep 2017 20:14:03 +0200 Subject: [PATCH] btrfs-progs: tests: move loopdev helpers out of the testcase to common Signed-off-by: David Sterba --- tests/common | 41 +++++++++++++++++++++++++++++ tests/mkfs-tests/001-basic-profiles/test.sh | 33 ----------------------- 2 files changed, 41 insertions(+), 33 deletions(-) diff --git a/tests/common b/tests/common index d0324a6..ebd41ba 100644 --- a/tests/common +++ b/tests/common @@ -519,6 +519,47 @@ generate_dataset() { esac } +# prepare environment for loop devices, set up the following variables +# - nloopdevs -- number of desired devices +# - loopdevs -- array containing paths to all devices (after prepare is called) +# - loopdev_prefix -- file backed images starting with this string, 'img' by default +# +# $1: number of loop devices to be set up +setup_loopdevs() +{ + if [ -z "$1" ]; then + _fail "setup_loopdevs needs a number" + fi + nloopdevs="$1" + loopdev_prefix=img + declare -a loopdevs + +} + +# create all loop devices from a given loopdev environment +prepare_loopdevs() +{ + for i in `seq $nloopdevs`; do + touch $loopdev_prefix$i + chmod a+rw $loopdev_prefix$i + truncate -s0 $loopdev_prefix$i + truncate -s2g $loopdev_prefix$i + loopdevs[$i]=`run_check_stdout $SUDO_HELPER losetup --find --show $loopdev_prefix$i` + done +} + +# detach loop devices and reset their size to 0, does not delete the files +cleanup_loopdevs() +{ + for dev in ${loopdevs[@]}; do + run_check $SUDO_HELPER losetup -d $dev + done + for i in `seq $nloopdevs`; do + truncate -s0 $loopdev_prefix$i + done + run_check $SUDO_HELPER losetup --all +} + init_env() { TEST_MNT="${TEST_MNT:-$TOP/tests/mnt}" diff --git a/tests/mkfs-tests/001-basic-profiles/test.sh b/tests/mkfs-tests/001-basic-profiles/test.sh index 216ad5f..854ee00 100755 --- a/tests/mkfs-tests/001-basic-profiles/test.sh +++ b/tests/mkfs-tests/001-basic-profiles/test.sh @@ -9,39 +9,6 @@ check_prereq btrfs setup_root_helper -setup_loopdevs() -{ - if [ -z "$1" ]; then - _fail "setup_loopdevs needs a number" - fi - nloopdevs="$1" - loopdev_prefix=img - declare -a loopdevs - -} - -prepare_loopdevs() -{ - for i in `seq $nloopdevs`; do - touch $loopdev_prefix$i - chmod a+rw $loopdev_prefix$i - truncate -s0 $loopdev_prefix$i - truncate -s2g $loopdev_prefix$i - loopdevs[$i]=`run_check_stdout $SUDO_HELPER losetup --find --show $loopdev_prefix$i` - done -} - -cleanup_loopdevs() -{ - for dev in ${loopdevs[@]}; do - run_check $SUDO_HELPER losetup -d $dev - done - for i in `seq $nloopdevs`; do - truncate -s0 $loopdev_prefix$i - done - run_check $SUDO_HELPER losetup --all -} - test_get_info() { run_check $SUDO_HELPER $TOP/btrfs inspect-internal dump-super $dev1 -- 2.7.4