On Fri, Oct 27, 2017 at 08:53:24AM +0800, Qu Wenruo wrote:
> 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"

There are helpers for the default mounts, you can use them to save some
typing: run_check_mount_test_dev and run_check_umount_test_dev.

> +}
> +
> +do_test -n 4k        -m single       -d single

I don't seem to get this test to work, it fails with this in the log:

=== Entering btrfs-progs/tests/mkfs-tests/010-small-image
$TEST_DEV not given, use btrfs-progs/test/test.img as fallback
############### btrfs-progs/mkfs.btrfs -f -n 4k -m single -d single 
btrfs-progs/tests/test.img
btrfs-progs v4.13.3-61-g0615ffa351c2
See http://btrfs.wiki.kernel.org for more information.

failed (expected): btrfs-progs/mkfs.btrfs -f -n 4k -m single -d single 
btrfs-progs/tests/test.img
############### btrfs-progs/mkfs.btrfs -f -n 4k -m single -d single 
btrfs-progs/tests/test.img
btrfs-progs v4.13.3-61-g0615ffa351c2
See http://btrfs.wiki.kernel.org for more information.

Label:              (null)
UUID:               b9b55b1b-4096-46ee-acd0-15151a8050d6
Node size:          4096
Sector size:        4096
Filesystem size:    16.00MiB
Block group profiles:
  Data:             single            1.56MiB
  Metadata:         single            1.56MiB
  System:           single            4.00MiB
SSD detected:       no
Incompat features:  extref, skinny-metadata
Number of devices:  1
Devices:
   ID        SIZE  PATH
    1    16.00MiB  btrfs-progs/tests/test.img

############### root_helper mount btrfs-progs/tests/test.img 
btrfs-progs/tests/mnt
############### root_helper umount btrfs-progs/tests/mnt
############### btrfs-progs/mkfs.btrfs -f -n 4k -m single -d dup 
btrfs-progs/tests/test.img
btrfs-progs v4.13.3-61-g0615ffa351c2
See http://btrfs.wiki.kernel.org for more information.

failed (expected): btrfs-progs/mkfs.btrfs -f -n 4k -m single -d dup 
btrfs-progs/tests/test.img
############### btrfs-progs/mkfs.btrfs -f -n 4k -m single -d dup 
btrfs-progs/tests/test.img
ERROR: not enough free space to allocate chunk
btrfs-progs v4.13.3-61-g0615ffa351c2
See http://btrfs.wiki.kernel.org for more information.

failed: btrfs-progs/mkfs.btrfs -f -n 4k -m single -d dup 
btrfs-progs/tests/test.img
test failed for case 010-small-image
---

The output is unexpected and does not contain the minimal size. The tested
branch is current devel (7141063af3c9a423dda), your mkfs --rootdir rework
patches are there. Can you please have a look?
--
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