diff options
author | David Sterba <dsterba@suse.com> | 2017-07-20 18:44:49 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2017-07-20 19:42:59 +0200 |
commit | 18b519e694a6ef559d85072f86898ab5a61f6a05 (patch) | |
tree | 389909f446d659498048f64d573125a71a0a30cd /tests | |
parent | 46809a7287eb41ff2fdb83f742bd5250b820145a (diff) |
btrfs-progs: tests: use separate helper for mounting convert filesystems
We'll enforce the btrfs type for mount everwhere so we must provide a
way to mount converted filesystems. Add a new helper that will try to
mount the given type.
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/common.convert | 35 | ||||
-rwxr-xr-x | tests/convert-tests/005-delete-all-rollback/test.sh | 4 |
2 files changed, 36 insertions, 3 deletions
diff --git a/tests/common.convert b/tests/common.convert index 12ad3a82..2c19a4be 100644 --- a/tests/common.convert +++ b/tests/common.convert @@ -1,6 +1,39 @@ #!/bin/bash # helpers for btrfs-convert tests +# mount image of converted filesystem of a given type +# $1: type of the filesystem +run_check_mount_convert_dev() +{ + local fstype + local loop_opt + + setup_root_helper + + fstype="$1" + shift + if [ -z "$fstype" ]; then + _fail "Missing source filesystem type" + fi + if [ "$fstype" = 'btrfs' ]; then + _fail "Incorrect type for converted filesystem: btrfs" + fi + + if [[ -b "$TEST_DEV" ]]; then + loop_opt="" + elif [[ -f "$TEST_DEV" ]]; then + loop_opt="-o loop" + else + _fail "Invalid \$TEST_DEV: $TEST_DEV" + fi + + [[ -d "$TEST_MNT" ]] || { + _fail "Invalid \$TEST_MNT: $TEST_MNT" + } + + run_check $SUDO_HELPER mount $loop_opt -t "$fstype" "$@" "$TEST_DEV" "$TEST_MNT" +} + populate_fs() { for dataset_type in 'small' 'hardlink' 'fast_symlink' 'brokenlink' 'perm' 'sparse' 'acls' 'fifo' 'slow_symlink'; do @@ -37,7 +70,7 @@ convert_test_prep_fs() { run_check "$@" -F "$TEST_DEV" # create a file to check btrfs-convert can convert regular file correct - run_check_mount_test_dev + run_check_mount_convert_dev "$fstype" # create a file inside the fs before convert, to make sure there is # data covering btrfs backup superblock range (64M) diff --git a/tests/convert-tests/005-delete-all-rollback/test.sh b/tests/convert-tests/005-delete-all-rollback/test.sh index 6871939e..337413bb 100755 --- a/tests/convert-tests/005-delete-all-rollback/test.sh +++ b/tests/convert-tests/005-delete-all-rollback/test.sh @@ -47,12 +47,12 @@ do_test() { run_check_umount_test_dev convert_test_post_rollback - run_check_mount_test_dev + run_check_mount_convert_dev ext4 convert_test_post_check_checksums "$CHECKSUMTMP" run_check_umount_test_dev # mount again and verify checksums - run_check_mount_test_dev + run_check_mount_convert_dev ext4 convert_test_post_check_checksums "$CHECKSUMTMP" run_check_umount_test_dev |