New test case to test if the minimal device size given by "mkfs.btrfs"
failure case is valid.

Signed-off-by: Qu Wenruo <[email protected]>
---
 tests/mkfs-tests/010-small-image/test.sh | 49 ++++++++++++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100755 tests/mkfs-tests/010-small-image/test.sh

diff --git a/tests/mkfs-tests/010-small-image/test.sh 
b/tests/mkfs-tests/010-small-image/test.sh
new file mode 100755
index 000000000000..f55760df061f
--- /dev/null
+++ b/tests/mkfs-tests/010-small-image/test.sh
@@ -0,0 +1,49 @@
+#!/bin/bash
+# test if the reported minimal size of mkfs.btrfs is valid
+
+source "$TOP"/tests/common
+
+check_prereq mkfs.btrfs
+check_prereq btrfs
+
+setup_root_helper
+
+do_test()
+{
+       # Well, 1M small enough to fail, we just use the output
+       # to get the minimal device size
+       prepare_test_dev 1M
+       output=$(run_mustfail_stdout "mkfs.btrfs for small image" \
+                "$TOP"/mkfs.btrfs -f $@ "$TEST_DEV")
+       good_size=$(echo "$output" | grep -oP "(?<=is )\d+")
+
+       prepare_test_dev "$good_size"
+       run_check "$TOP"/mkfs.btrfs -f $@ "$TEST_DEV"
+       run_check $SUDO_HELPER mount "$TEST_DEV" "$TEST_MNT"
+       run_check $SUDO_HELPER umount "$TEST_MNT"
+}
+
+do_test -n 4k  -m single       -d single
+do_test -n 4k  -m single       -d dup
+do_test -n 4k  -m dup          -d single
+do_test -n 4k  -m dup          -d dup
+
+do_test -n 8k  -m single       -d single
+do_test -n 8k  -m single       -d dup
+do_test -n 8k  -m dup          -d single
+do_test -n 8k  -m dup          -d dup
+
+do_test -n 16k -m single       -d single
+do_test -n 16k -m single       -d dup
+do_test -n 16k -m dup          -d single
+do_test -n 16k -m dup          -d dup
+
+do_test -n 32k -m single       -d single
+do_test -n 32k -m single       -d dup
+do_test -n 32k -m dup          -d single
+do_test -n 32k -m dup          -d dup
+
+do_test -n 64k -m single       -d single
+do_test -n 64k -m single       -d dup
+do_test -n 64k -m dup          -d single
+do_test -n 64k -m dup          -d dup
-- 
2.14.3

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to