From b4843d366906cdb5b1198c0206b720ba28ee66f6 Mon Sep 17 00:00:00 2001 From: Su Yanjun Date: Tue, 18 Sep 2018 16:44:48 +0800 Subject: btrfs-progs: tests: Add the testcase for subvolume name length limit test Total of three conditions are tested. One for short name, one with name length 255, the last one with more than 255. This case should pass after commit 'btrfs-progs: change filename limit to 255 when creating subvolume'. Signed-off-by: Su Yanjun Signed-off-by: David Sterba --- tests/misc-tests/033-filename-length-limit/test.sh | 82 ++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100755 tests/misc-tests/033-filename-length-limit/test.sh diff --git a/tests/misc-tests/033-filename-length-limit/test.sh b/tests/misc-tests/033-filename-length-limit/test.sh new file mode 100755 index 00000000..673138e2 --- /dev/null +++ b/tests/misc-tests/033-filename-length-limit/test.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# +# test file name length limits for subvolumes + +source "$TEST_TOP/common" + +check_prereq mkfs.btrfs +check_prereq btrfs + +setup_root_helper +prepare_test_dev + +run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" +run_check_mount_test_dev +run_check $SUDO_HELPER chmod a+rw "$TEST_MNT" + +cd "$TEST_MNT" + +longname=\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +0123456789\ +\ +01234 + +# subvolume name length limit test + +# short name test +run_check $SUDO_HELPER "$TOP/btrfs" subvolume create subvol +# 255 +run_check $SUDO_HELPER "$TOP/btrfs" subvolume create "$longname" +# 256, must fail +run_mustfail "subvolume with name 256 bytes long succeeded" \ + $SUDO_HELPER "$TOP/btrfs" subvolume create "$longname"5 +# 255*2, must fail +run_mustfail "subvolume with name 2 * 255 bytes long succeeded" \ + $SUDO_HELPER "$TOP/btrfs" subvolume create "$longname$longname" + +# snapshot name length limit test + +run_check $SUDO_HELPER mkdir snaps + +# short name test +run_check $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/snap +# 255 +run_check $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname" +# 256, must fail +run_mustfail "snapshot with name 256 bytes long succeeded" \ + $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname"5 +# 255*2, must fail +run_mustfail "subvolume with name 2 * 255 bytes long succeeded" \ + $SUDO_HELPER "$TOP/btrfs" subvolume snapshot subvol snaps/"$longname$longname" + +cd .. + +run_check_umount_test_dev -- cgit v1.2.3