diff --git a/tests/mkfs-tests/001-basic-profiles/test.sh b/tests/mkfs-tests/001-basic-profiles/test.sh new file mode 100755 index 00000000..0861f36f --- /dev/null +++ b/tests/mkfs-tests/001-basic-profiles/test.sh @@ -0,0 +1,89 @@ +#!/bin/bash +# test various blockgroup profile combinations, use loop devices as block +# devices + +source $TOP/tests/common + +check_prereq btrfs-show-super +check_prereq mkfs.btrfs +check_prereq btrfs + +ndevs=4 +declare -a devs +dev1= + +setup_root_helper + +prepare_devices() +{ + for i in `seq $ndevs`; do + touch img$i + chmod a+rw img$i + truncate -s0 img$i + truncate -s2g img$i + devs[$i]=`run_check_stdout $SUDO_HELPER losetup --find --show img$i` + done +} + +cleanup_devices() +{ + for dev in ${devs[@]}; do + run_check $SUDO_HELPER losetup -d $dev + done + for i in `seq $ndevs`; do + truncate -s0 img$i + done + run_check $SUDO_HELPER losetup --list +} + +test_get_info() +{ + run_check $TOP/btrfs-show-super $dev1 + run_check $SUDO_HELPER $TOP/btrfs check $dev1 + run_check $SUDO_HELPER mount $dev1 $TEST_MNT + run_check $TOP/btrfs filesystem df $TEST_MNT + run_check $SUDO_HELPER $TOP/btrfs filesystem usage $TEST_MNT + run_check $SUDO_HELPER $TOP/btrfs device usage $TEST_MNT + run_check $SUDO_HELPER umount "$TEST_MNT" +} +test_do_mkfs() +{ + run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ + $@ +} + +test_mkfs_single() +{ + test_do_mkfs $@ $dev1 + test_get_info +} +test_mkfs_multi() +{ + test_do_mkfs $@ ${devs[@]} + test_get_info +} + +prepare_devices +dev1=${devs[1]} + +test_mkfs_single +test_mkfs_single -d single -m single +test_mkfs_single -d single -m single --mixed +test_mkfs_single -d single -m dup +test_mkfs_single -d dup -m dup --mixed + +test_mkfs_multi +test_mkfs_multi -d single -m single +test_mkfs_multi -d single -m single --mixed +test_mkfs_multi -d raid0 -m raid0 +test_mkfs_multi -d raid0 -m raid0 --mixed +test_mkfs_multi -d raid1 -m raid1 +test_mkfs_multi -d raid1 -m raid1 --mixed +test_mkfs_multi -d raid10 -m raid10 +test_mkfs_multi -d raid10 -m raid10 --mixed +test_mkfs_multi -d raid5 -m raid5 +test_mkfs_multi -d raid5 -m raid5 --mixed +test_mkfs_multi -d raid6 -m raid6 +test_mkfs_multi -d raid6 -m raid6 --mixed + +cleanup_devices