diff options
Diffstat (limited to 'tests/mkfs-tests')
4 files changed, 43 insertions, 30 deletions
diff --git a/tests/mkfs-tests/001-basic-profiles/test.sh b/tests/mkfs-tests/001-basic-profiles/test.sh index 0dc9a2bd..854ee007 100755 --- a/tests/mkfs-tests/001-basic-profiles/test.sh +++ b/tests/mkfs-tests/001-basic-profiles/test.sh @@ -7,34 +7,8 @@ source $TOP/tests/common 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 --all -} - test_get_info() { run_check $SUDO_HELPER $TOP/btrfs inspect-internal dump-super $dev1 @@ -58,12 +32,13 @@ test_mkfs_single() } test_mkfs_multi() { - test_do_mkfs $@ ${devs[@]} + test_do_mkfs $@ ${loopdevs[@]} test_get_info } -prepare_devices -dev1=${devs[1]} +setup_loopdevs 4 +prepare_loopdevs +dev1=${loopdevs[1]} test_mkfs_single test_mkfs_single -d single -m single @@ -89,4 +64,4 @@ test_mkfs_multi -d raid6 -m raid6 --mixed test_mkfs_multi -d dup -m dup test_mkfs_multi -d dup -m dup --mixed -cleanup_devices +cleanup_loopdevs diff --git a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh index 63fb1785..5bdf50e0 100755 --- a/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh +++ b/tests/mkfs-tests/005-long-device-name-for-ssd/test.sh @@ -38,3 +38,4 @@ run_check $SUDO_HELPER $TOP/btrfs inspect-internal dump-super $dmdev run_check $SUDO_HELPER dmsetup remove $dmname run_mayfail $SUDO_HELPER losetup -d $loopdev run_check truncate -s0 img +rm img diff --git a/tests/mkfs-tests/006-partitioned-loopdev/test.sh b/tests/mkfs-tests/006-partitioned-loopdev/test.sh index 12f37842..0c77e5cd 100755 --- a/tests/mkfs-tests/006-partitioned-loopdev/test.sh +++ b/tests/mkfs-tests/006-partitioned-loopdev/test.sh @@ -29,3 +29,4 @@ done # cleanup run_check $SUDO_HELPER losetup -d $loopdev run_check truncate -s0 img +rm img diff --git a/tests/mkfs-tests/009-special-files-for-rootdir/test.sh b/tests/mkfs-tests/009-special-files-for-rootdir/test.sh new file mode 100755 index 00000000..d327a0d9 --- /dev/null +++ b/tests/mkfs-tests/009-special-files-for-rootdir/test.sh @@ -0,0 +1,36 @@ +#!/bin/bash +# Check if --rootdir can handle special files (socket/fifo/char/block) correctly +# +# --rootdir had a problem of filling dir items/indexes with wrong type +# and caused btrfs check to report such error +# +# Note: sock type is skipped in this test + +source "$TOP/tests/common" + +check_prereq mkfs.btrfs +check_prereq btrfs + +setup_root_helper # For mknod +prepare_test_dev + +# mknod can create FIFO/CHAR/BLOCK file but not SOCK. +# No neat tool to create socket file, unless using python or similar. +# So no SOCK is tested here +check_global_prereq mknod +check_global_prereq dd + +tmp=$(mktemp -d --tmpdir btrfs-progs-mkfs.rootdirXXXXXXX) + +run_check mkdir "$tmp/dir" +run_check mkdir -p "$tmp/dir/in/dir" +run_check mknod "$tmp/fifo" p +run_check $SUDO_HELPER mknod "$tmp/char" c 1 1 +run_check $SUDO_HELPER mknod "$tmp/block" b 1 1 +run_check dd if=/dev/zero bs=1M count=1 of="$tmp/regular" + +run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f -r "$tmp" "$TEST_DEV" + +rm -rf -- "$tmp" + +run_check $SUDO_HELPER "$TOP/btrfs" check "$TEST_DEV" |