summaryrefslogtreecommitdiff
path: root/tests/mkfs-tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests/mkfs-tests')
-rwxr-xr-xtests/mkfs-tests/001-basic-profiles/test.sh35
-rwxr-xr-xtests/mkfs-tests/005-long-device-name-for-ssd/test.sh1
-rwxr-xr-xtests/mkfs-tests/006-partitioned-loopdev/test.sh1
-rwxr-xr-xtests/mkfs-tests/009-special-files-for-rootdir/test.sh36
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"