diff options
author | Dimitri John Ledkov <xnox@ubuntu.com> | 2018-01-11 15:44:55 +0000 |
---|---|---|
committer | Dimitri John Ledkov <xnox@ubuntu.com> | 2018-01-11 15:44:55 +0000 |
commit | d78d642bffff6ea49d62c19f26052ed6d3dcc467 (patch) | |
tree | db0f470018ee6f4b93fb8fd601401fa157e5dbe3 /tests | |
parent | b309a4dfbe8130b9fef087df59dd18a487a9c18e (diff) |
New upstream release.
Diffstat (limited to 'tests')
48 files changed, 244 insertions, 43 deletions
diff --git a/tests/cli-tests/002-balance-full-no-filters/test.sh b/tests/cli-tests/002-balance-full-no-filters/test.sh index 0501aad2..0475ea73 100755 --- a/tests/cli-tests/002-balance-full-no-filters/test.sh +++ b/tests/cli-tests/002-balance-full-no-filters/test.sh @@ -8,7 +8,7 @@ check_prereq mkfs.btrfs check_prereq btrfs setup_root_helper -prepare_test_dev 2g +prepare_test_dev run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/cli-tests/004-send-parent-multi-subvol/test.sh b/tests/cli-tests/004-send-parent-multi-subvol/test.sh index 49226f9b..c1348b50 100755 --- a/tests/cli-tests/004-send-parent-multi-subvol/test.sh +++ b/tests/cli-tests/004-send-parent-multi-subvol/test.sh @@ -8,7 +8,7 @@ check_prereq mkfs.btrfs check_prereq btrfs setup_root_helper -prepare_test_dev 2g +prepare_test_dev run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/cli-tests/005-qgroup-show/test.sh b/tests/cli-tests/005-qgroup-show/test.sh index 2af13033..d9a91831 100755 --- a/tests/cli-tests/005-qgroup-show/test.sh +++ b/tests/cli-tests/005-qgroup-show/test.sh @@ -8,7 +8,7 @@ check_prereq mkfs.btrfs check_prereq btrfs setup_root_helper -prepare_test_dev 2g +prepare_test_dev run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/cli-tests/008-subvolume-get-set-default/test.sh b/tests/cli-tests/008-subvolume-get-set-default/test.sh new file mode 100755 index 00000000..9318002e --- /dev/null +++ b/tests/cli-tests/008-subvolume-get-set-default/test.sh @@ -0,0 +1,47 @@ +#!/bin/bash +# test for "subvolume get-default/set-default" + +check_default_id() +{ + id=$(run_check_stdout $SUDO_HELPER "$TOP/btrfs" subvolume get-default .) \ + || { echo "$id"; exit 1; } + if $(echo "$id" | grep -vq "ID $1"); then + _fail "subvolume get-default: default id is not $1, but $id" + fi +} + +source "$TOP/tests/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 +cd "$TEST_MNT" + +check_default_id 5 + +# check "subvol set-default <subvolid> <path>" +run_check $SUDO_HELPER "$TOP/btrfs" subvolume create sub +id=$(run_check_stdout "$TOP/btrfs" inspect-internal rootid sub) +run_check $SUDO_HELPER "$TOP/btrfs" subvolume set-default "$id" . +check_default_id "$id" + +run_mustfail "set-default to non existent id" \ + $SUDO_HELPER "$TOP/btrfs" subvolume set-default 100 . + +# check "subvol set-default <subvolume>" +run_check $SUDO_HELPER "$TOP/btrfs" subvolume create sub2 +id=$(run_check_stdout "$TOP/btrfs" inspect-internal rootid sub2) +run_check $SUDO_HELPER "$TOP/btrfs" subvolume set-default ./sub2 +check_default_id "$id" + +run_check $SUDO_HELPER mkdir sub2/dir +run_mustfail "set-default to normal directory" \ + $SUDO_HELPER "$TOP/btrfs" subvolume set-default ./sub2/dir + +cd .. +run_check_umount_test_dev diff --git a/tests/common b/tests/common index eb525a4d..734cd171 100644 --- a/tests/common +++ b/tests/common @@ -236,6 +236,58 @@ run_mustfail() fi } +# The first parameter is error message to print if it fails, just like +# run_must_fail(). +# NOTE: we don't use pipefail to avoid disturbing other script, so here we +# use a temporary output file. +# So it doesn't support pipeline in the @cmd +run_mustfail_stdout() +{ + local spec + local ins + local cmd + local msg + local ret + local tmp_output + + tmp_output=$(mktemp --tmpdir btrfs-progs-test--mustfail-stdtout.XXXXXX) + + msg="$1" + shift + + if _is_file_or_command "$msg"; then + echo "ASSERTION FAIL: 1st argument of run_mustfail_stdout must be a message" + exit 1 + fi + + ins=$(_get_spec_ins "$@") + spec=$(($ins-1)) + cmd=$(eval echo "\${$spec}") + spec=$(_cmd_spec "${@:$spec}") + set -- "${@:1:$(($ins-1))}" $spec "${@: $ins}" + echo "############### $@" >> "$RESULTS" 2>&1 + if [[ $TEST_LOG =~ tty ]]; then echo "CMD(mustfail): $@" > /dev/tty; fi + if [ "$1" = 'root_helper' ]; then + "$@" 2>&1 > "$tmp_output" + else + $INSTRUMENT "$@" 2>&1 > "$tmp_output" + fi + ret=$? + + cat "$tmp_output" >> "$RESULTS" + cat "$tmp_output" + rm "$tmp_output" + + if [ "$ret" != 0 ]; then + echo "failed (expected): $@" >> "$RESULTS" + return 0 + else + echo "succeeded (unexpected!): $@" >> "$RESULTS" + _fail "unexpected success: $msg" + return 1 + fi +} + check_prereq() { if ! [ -f "$TOP/$1" ]; then @@ -389,8 +441,12 @@ prepare_test_dev() # num[K/M/G/T...] local size="$1" - [[ "$TEST_DEV" ]] && return [[ "$size" ]] || size='2G' + # Still truncate it to new size + if [ -n "$TEST_DEV" ]; then + truncate -s "$size" "$TEST_DEV" + return; + fi echo "\$TEST_DEV not given, use $TOP/test/test.img as fallback" >> \ "$RESULTS" @@ -428,8 +484,12 @@ run_check_umount_test_dev() check_kernel_support() { if ! grep -iq 'btrfs' /proc/filesystems; then - echo "WARNING: btrfs filesystem not listed in /proc/filesystems, some tests might fail" - return 1 + run_check $SUDO_HELPER modprobe btrfs + if ! grep -iq 'btrfs' /proc/filesystems; then + echo \ +"WARNING: btrfs filesystem not found in /proc/filesystems, some tests might fail" + return 1 + fi fi return 0 } diff --git a/tests/common.local b/tests/common.local index d2b8d073..f5e96f5b 100644 --- a/tests/common.local +++ b/tests/common.local @@ -14,11 +14,24 @@ fi # gets arguments of a current command and can decide if the argument insertion # should happen, eg. if some option combination does not make sense or would # break tests +# +# Return 0 if we need to skip option override +# Return 1 if we don't need to skip option override _skip_spec() { + local beacon + + beacon=.lowmem_repairable + + # For lowmem repair, only support fs tree repair for now + # So we place lowmem repair beacon in the same dir of the test case if echo "$TEST_ARGS_CHECK" | grep -q 'mode=lowmem' && echo "$@" | grep -q -- '--repair'; then - return 0 + dir="$(dirname ${@: -1})" + if [ -f ${dir}/${beacon} ]; then + return 1; + fi + return 0; fi return 1 } diff --git a/tests/convert-tests/001-ext2-basic/test.sh b/tests/convert-tests/001-ext2-basic/test.sh index d94bf0b6..af75d948 100755 --- a/tests/convert-tests/001-ext2-basic/test.sh +++ b/tests/convert-tests/001-ext2-basic/test.sh @@ -4,7 +4,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/002-ext3-basic/test.sh b/tests/convert-tests/002-ext3-basic/test.sh index f00e0e82..233e2d94 100755 --- a/tests/convert-tests/002-ext3-basic/test.sh +++ b/tests/convert-tests/002-ext3-basic/test.sh @@ -4,7 +4,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/003-ext4-basic/test.sh b/tests/convert-tests/003-ext4-basic/test.sh index d33f1d9a..baf6115c 100755 --- a/tests/convert-tests/003-ext4-basic/test.sh +++ b/tests/convert-tests/003-ext4-basic/test.sh @@ -4,7 +4,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/004-ext2-backup-superblock-ranges/test.sh b/tests/convert-tests/004-ext2-backup-superblock-ranges/test.sh index 0ce62f78..cf354d40 100755 --- a/tests/convert-tests/004-ext2-backup-superblock-ranges/test.sh +++ b/tests/convert-tests/004-ext2-backup-superblock-ranges/test.sh @@ -18,7 +18,7 @@ check_global_prereq e2fsck check_global_prereq xzcat setup_root_helper -prepare_test_dev 512M +prepare_test_dev # override common function function check_image() { diff --git a/tests/convert-tests/005-delete-all-rollback/test.sh b/tests/convert-tests/005-delete-all-rollback/test.sh index 19aa76d4..31fa2c4b 100755 --- a/tests/convert-tests/005-delete-all-rollback/test.sh +++ b/tests/convert-tests/005-delete-all-rollback/test.sh @@ -6,7 +6,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/006-large-hole-extent/test.sh b/tests/convert-tests/006-large-hole-extent/test.sh index 0edb6280..38e97055 100755 --- a/tests/convert-tests/006-large-hole-extent/test.sh +++ b/tests/convert-tests/006-large-hole-extent/test.sh @@ -9,7 +9,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/007-unsupported-block-sizes/test.sh b/tests/convert-tests/007-unsupported-block-sizes/test.sh index f1b29726..ef010202 100755 --- a/tests/convert-tests/007-unsupported-block-sizes/test.sh +++ b/tests/convert-tests/007-unsupported-block-sizes/test.sh @@ -5,7 +5,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/008-readonly-image/test.sh b/tests/convert-tests/008-readonly-image/test.sh index 8551fb9b..064bc271 100755 --- a/tests/convert-tests/008-readonly-image/test.sh +++ b/tests/convert-tests/008-readonly-image/test.sh @@ -5,7 +5,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs diff --git a/tests/convert-tests/009-common-inode-flags/test.sh b/tests/convert-tests/009-common-inode-flags/test.sh index cd7b5111..6d159993 100755 --- a/tests/convert-tests/009-common-inode-flags/test.sh +++ b/tests/convert-tests/009-common-inode-flags/test.sh @@ -5,7 +5,7 @@ source "$TOP/tests/common" source "$TOP/tests/common.convert" setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mke2fs check_global_prereq lsattr diff --git a/tests/convert-tests/010-reiserfs-basic/test.sh b/tests/convert-tests/010-reiserfs-basic/test.sh index 261f8704..87008f15 100755 --- a/tests/convert-tests/010-reiserfs-basic/test.sh +++ b/tests/convert-tests/010-reiserfs-basic/test.sh @@ -8,7 +8,7 @@ if ! check_kernel_support_reiserfs >/dev/null; then fi setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mkreiserfs diff --git a/tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh b/tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh index c6c3119e..0b8366c8 100755 --- a/tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh +++ b/tests/convert-tests/011-reiserfs-delete-all-rollback/test.sh @@ -9,7 +9,7 @@ if ! check_kernel_support_reiserfs >/dev/null; then fi setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mkreiserfs diff --git a/tests/convert-tests/012-reiserfs-large-hole-extent/test.sh b/tests/convert-tests/012-reiserfs-large-hole-extent/test.sh index 7a8d4972..dde1b3eb 100755 --- a/tests/convert-tests/012-reiserfs-large-hole-extent/test.sh +++ b/tests/convert-tests/012-reiserfs-large-hole-extent/test.sh @@ -13,7 +13,7 @@ if ! check_kernel_support_reiserfs >/dev/null; then fi setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mkreiserfs diff --git a/tests/convert-tests/013-reiserfs-common-inode-flags/test.sh b/tests/convert-tests/013-reiserfs-common-inode-flags/test.sh index e242a3b0..a15240ce 100755 --- a/tests/convert-tests/013-reiserfs-common-inode-flags/test.sh +++ b/tests/convert-tests/013-reiserfs-common-inode-flags/test.sh @@ -9,7 +9,7 @@ if ! check_kernel_support_reiserfs >/dev/null; then fi setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq mkreiserfs check_global_prereq chattr diff --git a/tests/convert-tests/014-reiserfs-tail-handling/test.sh b/tests/convert-tests/014-reiserfs-tail-handling/test.sh index f6131d96..335c0091 100755 --- a/tests/convert-tests/014-reiserfs-tail-handling/test.sh +++ b/tests/convert-tests/014-reiserfs-tail-handling/test.sh @@ -14,7 +14,7 @@ if ! check_kernel_support_reiserfs >/dev/null; then fi setup_root_helper -prepare_test_dev 512M +prepare_test_dev check_prereq btrfs-convert check_global_prereq md5sum check_global_prereq mkreiserfs diff --git a/tests/convert-tests/015-no-rollback-after-balance/test.sh b/tests/convert-tests/015-no-rollback-after-balance/test.sh new file mode 100755 index 00000000..47c9c6fa --- /dev/null +++ b/tests/convert-tests/015-no-rollback-after-balance/test.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# Check if btrfs-convert refuses to rollback the filesystem, and leave the fs +# and the convert image untouched + +source "$TOP/tests/common" +source "$TOP/tests/common.convert" + +setup_root_helper +prepare_test_dev +check_prereq btrfs-convert +check_global_prereq mke2fs + +# convert_test_prep_fs() will create large enough file inside the test device, +# that's good enough for us to test rollback failure. +convert_test_prep_fs ext4 mke2fs -t ext4 -b 4096 +run_check_umount_test_dev +convert_test_do_convert "" 4096 + +run_check_mount_test_dev + +# Now the fs is converted, balance it so later rollback should fail +run_check $SUDO_HELPER "$TOP/btrfs" balance start --full-balance "$TEST_MNT" +run_check_umount_test_dev + +# rollback should fail +run_mustfail "rollback fs after balance" "$TOP/btrfs-convert" -r "$TEST_DEV" + +# Ensure the fs and convert image can pass the check +run_check "$TOP/btrfs" check "$TEST_DEV" + +run_check_mount_test_dev +run_check $SUDO_HELPER e2fsck -fn "$TEST_MNT/ext2_saved/image" +run_check_umount_test_dev diff --git a/tests/fsck-tests/004-no-dir-index/.lowmem_repairable b/tests/fsck-tests/004-no-dir-index/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/004-no-dir-index/.lowmem_repairable diff --git a/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable b/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/009-no-dir-item-or-index/.lowmem_repairable diff --git a/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable b/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/010-no-rootdir-inode-item/.lowmem_repairable diff --git a/tests/fsck-tests/011-no-inode-item/.lowmem_repairable b/tests/fsck-tests/011-no-inode-item/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/011-no-inode-item/.lowmem_repairable diff --git a/tests/fsck-tests/013-extent-tree-rebuild/test.sh b/tests/fsck-tests/013-extent-tree-rebuild/test.sh index 90fe2e83..d71c1b2e 100755 --- a/tests/fsck-tests/013-extent-tree-rebuild/test.sh +++ b/tests/fsck-tests/013-extent-tree-rebuild/test.sh @@ -7,7 +7,7 @@ check_prereq mkfs.btrfs check_prereq btrfs setup_root_helper -prepare_test_dev 1G +prepare_test_dev # test whether fsck can rebuild a corrupted extent tree test_extent_tree_rebuild() diff --git a/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable b/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/016-wrong-inode-nbytes/.lowmem_repairable diff --git a/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable b/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/tests/fsck-tests/017-missing-all-file-extent/.lowmem_repairable diff --git a/tests/fsck-tests/020-extent-ref-cases/inline_regular_coexist.img b/tests/fsck-tests/020-extent-ref-cases/inline_regular_coexist.img Binary files differnew file mode 100644 index 00000000..cf15cc14 --- /dev/null +++ b/tests/fsck-tests/020-extent-ref-cases/inline_regular_coexist.img diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_only.img b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_only.img Binary files differnew file mode 100644 index 00000000..668589f4 --- /dev/null +++ b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_only.img diff --git a/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img Binary files differnew file mode 100644 index 00000000..2ce5068f --- /dev/null +++ b/tests/fsck-tests/020-extent-ref-cases/keyed_data_ref_with_shared_leaf.img diff --git a/tests/fsck-tests/020-extent-ref-cases/ref_count_mismatch_false_alert.img b/tests/fsck-tests/020-extent-ref-cases/ref_count_mismatch_false_alert.img Binary files differnew file mode 100644 index 00000000..85110a81 --- /dev/null +++ b/tests/fsck-tests/020-extent-ref-cases/ref_count_mismatch_false_alert.img diff --git a/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz Binary files differnew file mode 100644 index 00000000..538fb4f2 --- /dev/null +++ b/tests/fsck-tests/020-extent-ref-cases/shared_block_ref_only.raw.xz diff --git a/tests/fsck-tests/020-extent-ref-cases/test.sh b/tests/fsck-tests/020-extent-ref-cases/test.sh index 1e1e4e23..0c4f7848 100755 --- a/tests/fsck-tests/020-extent-ref-cases/test.sh +++ b/tests/fsck-tests/020-extent-ref-cases/test.sh @@ -1,6 +1,6 @@ #!/bin/bash -# In order to confirm that btrfsck supports to check a variety of refs, add the -# following cases: +# In order to confirm that 'btrfs check' supports checking a variety of refs, +# add the following cases: # # * keyed_block_ref # * keyed_data_ref @@ -19,12 +19,11 @@ source "$TOP/tests/common" check_prereq btrfs -for img in *.img *.raw.xz -do - image=$(extract_image "$img") +check_image() { + local image - # Since the return value bug is already fixed, we don't need - # the old grep hack to detect bug. + image=$1 run_check "$TOP/btrfs" check "$image" - rm -f "$image" -done +} + +check_all_images diff --git a/tests/fsck-tests/021-partially-dropped-snapshot-case/test.sh b/tests/fsck-tests/021-partially-dropped-snapshot-case/test.sh index 44a33a63..5d997e24 100755 --- a/tests/fsck-tests/021-partially-dropped-snapshot-case/test.sh +++ b/tests/fsck-tests/021-partially-dropped-snapshot-case/test.sh @@ -1,18 +1,22 @@ #!/bin/bash -# confirm whether btrfsck supports to check a partially dropped snapshot +# confirm whether 'btrfs check' supports check ing of a partially dropped +# snapshot source "$TOP/tests/common" check_prereq btrfs -for img in *.img -do - image=$(extract_image "$img") +check_image() +{ + local image + + image=$1 run_check_stdout "$TOP/btrfs" check "$image" 2>&1 | grep -q "Errors found in extent allocation tree or chunk allocation" if [ $? -eq 0 ]; then rm -f "$image" _fail "unexpected error occurred when checking $img" fi - rm -f "$image" -done +} + +check_all_images diff --git a/tests/fsck-tests/024-clear-space-cache/test.sh b/tests/fsck-tests/024-clear-space-cache/test.sh index 6cf8440b..76ebcb6b 100755 --- a/tests/fsck-tests/024-clear-space-cache/test.sh +++ b/tests/fsck-tests/024-clear-space-cache/test.sh @@ -7,7 +7,7 @@ check_prereq btrfs check_prereq mkfs.btrfs setup_root_helper -prepare_test_dev 1G +prepare_test_dev run_check $SUDO_HELPER "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/fsck-tests/027-bad-extent-inline-ref-type/bad-extent-inline-ref-type.raw.xz b/tests/fsck-tests/027-bad-extent-inline-ref-type/bad-extent-inline-ref-type.raw.xz Binary files differnew file mode 100644 index 00000000..09d82019 --- /dev/null +++ b/tests/fsck-tests/027-bad-extent-inline-ref-type/bad-extent-inline-ref-type.raw.xz diff --git a/tests/fsck-tests/027-tree-reloc-tree/test.sh b/tests/fsck-tests/027-tree-reloc-tree/test.sh new file mode 100755 index 00000000..afad1e8d --- /dev/null +++ b/tests/fsck-tests/027-tree-reloc-tree/test.sh @@ -0,0 +1,19 @@ +#!/bin/bash +# Make sure btrfs check won't report any false alerts for valid image with +# reloc tree. +# +# Also due to the short life span of reloc tree, save the as dump example for +# later usage. + +source "$TOP/tests/common" + +check_prereq btrfs + +check_image() { + local image + + image=$1 + run_check "$TOP/btrfs" check "$image" +} + +check_all_images diff --git a/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz Binary files differnew file mode 100644 index 00000000..66d8bde6 --- /dev/null +++ b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_data_reloc.img.xz diff --git a/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz Binary files differnew file mode 100644 index 00000000..22af324b --- /dev/null +++ b/tests/fsck-tests/027-tree-reloc-tree/tree_reloc_for_fs_tree.img.xz diff --git a/tests/fsck-tests/028-unaligned-super-dev-sizes/dev_and_super_mismatch_unaligned.raw.xz b/tests/fsck-tests/028-unaligned-super-dev-sizes/dev_and_super_mismatch_unaligned.raw.xz Binary files differnew file mode 100644 index 00000000..153e514a --- /dev/null +++ b/tests/fsck-tests/028-unaligned-super-dev-sizes/dev_and_super_mismatch_unaligned.raw.xz diff --git a/tests/fsck-tests/028-unaligned-super-dev-sizes/test.sh b/tests/fsck-tests/028-unaligned-super-dev-sizes/test.sh new file mode 100755 index 00000000..6f315fae --- /dev/null +++ b/tests/fsck-tests/028-unaligned-super-dev-sizes/test.sh @@ -0,0 +1,26 @@ +#!/bin/bash +# +# An image with mis-aligned superblock total_bytes, that will be found and +# fixed by 'check' or fixed by 'rescue fix-device-size' + +source "$TOP/tests/common" + +check_prereq btrfs +prepare_test_dev +setup_root_helper + +check_all_images + +image=$(extract_image "./dev_and_super_mismatch_unaligned.raw.xz") + +# detect and fix +run_check "$TOP/btrfs" rescue fix-device-size "$image" +# no problem found +run_check "$TOP/btrfs" rescue fix-device-size "$image" +# check if fix-device-size worked +run_check "$TOP/btrfs" check "$image" +# mount test +run_check_mount_test_dev +run_check_umount_test_dev + +rm -f "$image" diff --git a/tests/misc-tests/005-convert-progress-thread-crash/test.sh b/tests/misc-tests/005-convert-progress-thread-crash/test.sh index 054069c2..bc71e1fd 100755 --- a/tests/misc-tests/005-convert-progress-thread-crash/test.sh +++ b/tests/misc-tests/005-convert-progress-thread-crash/test.sh @@ -6,7 +6,7 @@ source $TOP/tests/common check_prereq btrfs-convert mkfs.ext4 -V &>/dev/null || _not_run "mkfs.ext4 not found" -prepare_test_dev 1G +prepare_test_dev for ((i = 0; i < 20; i++)); do echo "loop $i" >>$RESULTS diff --git a/tests/misc-tests/016-send-clone-src/test.sh b/tests/misc-tests/016-send-clone-src/test.sh index 479da677..2780ebbd 100755 --- a/tests/misc-tests/016-send-clone-src/test.sh +++ b/tests/misc-tests/016-send-clone-src/test.sh @@ -10,7 +10,7 @@ check_prereq btrfs setup_root_helper -prepare_test_dev 1g +prepare_test_dev run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/misc-tests/017-recv-stream-malformatted/test.sh b/tests/misc-tests/017-recv-stream-malformatted/test.sh index 3756be27..d199a72e 100755 --- a/tests/misc-tests/017-recv-stream-malformatted/test.sh +++ b/tests/misc-tests/017-recv-stream-malformatted/test.sh @@ -9,7 +9,7 @@ check_prereq btrfs setup_root_helper -prepare_test_dev 1g +prepare_test_dev run_check "$TOP/mkfs.btrfs" -f "$TEST_DEV" run_check_mount_test_dev diff --git a/tests/misc-tests/018-recv-end-of-stream/test.sh b/tests/misc-tests/018-recv-end-of-stream/test.sh index 3b8a0319..9ca035f7 100755 --- a/tests/misc-tests/018-recv-end-of-stream/test.sh +++ b/tests/misc-tests/018-recv-end-of-stream/test.sh @@ -9,7 +9,7 @@ check_prereq mkfs.btrfs check_prereq btrfs setup_root_helper -prepare_test_dev 1g +prepare_test_dev here=`pwd` diff --git a/tests/misc-tests/019-receive-clones-on-munted-subvol/test.sh b/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh index 182b0cf9..182b0cf9 100755 --- a/tests/misc-tests/019-receive-clones-on-munted-subvol/test.sh +++ b/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh diff --git a/tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh b/tests/mkfs-tests/008-sectorsize-nodesize-combination/test.sh index 151e7b77..955cd2b1 100755 --- a/tests/mkfs-tests/008-secorsize-nodesize-combination/test.sh +++ b/tests/mkfs-tests/008-sectorsize-nodesize-combination/test.sh @@ -19,7 +19,7 @@ do_test() { sectorsize=$1 nodesize=$2 - run_mayfail $TOP/mkfs.btrfs -O $features -n $nodesize -s $sectorsize \ + run_mayfail $TOP/mkfs.btrfs -f -O $features -n $nodesize -s $sectorsize \ $TEST_DEV ret=$? if [ $ret == 0 ]; then |