diff options
author | Dimitri John Ledkov <xnox@ubuntu.com> | 2018-02-19 15:51:31 +0000 |
---|---|---|
committer | Dimitri John Ledkov <xnox@ubuntu.com> | 2018-02-19 15:52:49 +0000 |
commit | b70cb0d0a21394d5d6b00b51f064115c2724cea8 (patch) | |
tree | f001381d2ee826e6665e003e7c6dccb084a54316 /tests/misc-tests | |
parent | f1b0adb46b2c193e940f8c22b35036d2ee76c673 (diff) |
New upstream releasedebian/4.15.1-1archive/debian/4.15.1-1
Diffstat (limited to 'tests/misc-tests')
28 files changed, 88 insertions, 31 deletions
diff --git a/tests/misc-tests/001-btrfstune-features/test.sh b/tests/misc-tests/001-btrfstune-features/test.sh index bfa7f43e..718e4b08 100755 --- a/tests/misc-tests/001-btrfstune-features/test.sh +++ b/tests/misc-tests/001-btrfstune-features/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # test btrfstune options that enable filesystem features -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfstune diff --git a/tests/misc-tests/002-uuid-rewrite/test.sh b/tests/misc-tests/002-uuid-rewrite/test.sh index fd100fb3..e32aff0c 100755 --- a/tests/misc-tests/002-uuid-rewrite/test.sh +++ b/tests/misc-tests/002-uuid-rewrite/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # test btrfstune uuid rewriting options -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfstune @@ -25,7 +25,7 @@ test_uuid_random() run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ --uuid $origuuid \ - --rootdir $TOP/Documentation \ + --rootdir $INTERNAL_BIN/Documentation \ $TEST_DEV run_check $TOP/btrfs inspect-internal dump-super "$TEST_DEV" currentfsid=$(run_check_stdout $TOP/btrfstune -f -u $TEST_DEV | \ @@ -47,7 +47,7 @@ test_uuid_user() run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ --uuid $origuuid \ - --rootdir $TOP/Documentation \ + --rootdir $INTERNAL_BIN/Documentation \ $TEST_DEV run_check $TOP/btrfs inspect-internal dump-super "$TEST_DEV" run_check $TOP/btrfstune -f -U $newuuid \ diff --git a/tests/misc-tests/003-zero-log/test.sh b/tests/misc-tests/003-zero-log/test.sh index e7c5c806..9d2940f5 100755 --- a/tests/misc-tests/003-zero-log/test.sh +++ b/tests/misc-tests/003-zero-log/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # test zero-log -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs @@ -27,7 +27,7 @@ test_zero_log() { # FIXME: we need an image with existing log_root run_check $SUDO_HELPER $TOP/mkfs.btrfs -f \ - --rootdir $TOP/Documentation \ + --rootdir $INTERNAL_BIN/Documentation \ $TEST_DEV run_check $TOP/btrfs inspect-internal dump-super $TEST_DEV if [ "$1" = 'standalone' ]; then diff --git a/tests/misc-tests/004-shrink-fs/test.sh b/tests/misc-tests/004-shrink-fs/test.sh index 88740358..2f08b0b0 100755 --- a/tests/misc-tests/004-shrink-fs/test.sh +++ b/tests/misc-tests/004-shrink-fs/test.sh @@ -4,7 +4,7 @@ # are able to resize (shrink) it to that size. # -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs 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 bc71e1fd..b8012c9f 100755 --- a/tests/misc-tests/005-convert-progress-thread-crash/test.sh +++ b/tests/misc-tests/005-convert-progress-thread-crash/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # test convert-thread-conflict -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs-convert diff --git a/tests/misc-tests/006-image-on-missing-device/test.sh b/tests/misc-tests/006-image-on-missing-device/test.sh index 2766fb17..d8b1cef2 100755 --- a/tests/misc-tests/006-image-on-missing-device/test.sh +++ b/tests/misc-tests/006-image-on-missing-device/test.sh @@ -4,7 +4,7 @@ # - btrfs-image must not loop indefinetelly # - btrfs-image will expectedly fail to produce the dump -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs-image check_prereq mkfs.btrfs diff --git a/tests/misc-tests/007-subvolume-sync/test.sh b/tests/misc-tests/007-subvolume-sync/test.sh index 243bb8cc..ef03d16b 100755 --- a/tests/misc-tests/007-subvolume-sync/test.sh +++ b/tests/misc-tests/007-subvolume-sync/test.sh @@ -4,7 +4,7 @@ # - btrfs subvolume must not loop indefinitely # - btrfs subvolume return 0 in normal case -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/008-leaf-crossing-stripes/test.sh b/tests/misc-tests/008-leaf-crossing-stripes/test.sh index 03818062..517bd667 100755 --- a/tests/misc-tests/008-leaf-crossing-stripes/test.sh +++ b/tests/misc-tests/008-leaf-crossing-stripes/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # test if btrfs-convert creates a filesystem without leaf crossing stripes -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs-convert check_prereq btrfs diff --git a/tests/misc-tests/009-subvolume-sync-must-wait/test.sh b/tests/misc-tests/009-subvolume-sync-must-wait/test.sh index fa3f09ab..15de3355 100755 --- a/tests/misc-tests/009-subvolume-sync-must-wait/test.sh +++ b/tests/misc-tests/009-subvolume-sync-must-wait/test.sh @@ -2,7 +2,7 @@ # # Verify that subvolume sync waits until the subvolume is cleaned -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/010-convert-delete-ext2-subvol/test.sh b/tests/misc-tests/010-convert-delete-ext2-subvol/test.sh index 7915867c..6d510fea 100755 --- a/tests/misc-tests/010-convert-delete-ext2-subvol/test.sh +++ b/tests/misc-tests/010-convert-delete-ext2-subvol/test.sh @@ -3,7 +3,7 @@ # verify that convert rollback finds the ext2_subvolume intact and fails if it # was partially deleted -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs-convert check_prereq btrfs diff --git a/tests/misc-tests/011-delete-missing-device/test.sh b/tests/misc-tests/011-delete-missing-device/test.sh index 8a1b14b1..469c3be9 100755 --- a/tests/misc-tests/011-delete-missing-device/test.sh +++ b/tests/misc-tests/011-delete-missing-device/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # make sure that 'missing' is accepted for device deletion -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/012-find-root-no-result/test.sh b/tests/misc-tests/012-find-root-no-result/test.sh index 983a8a1e..f4a57e76 100755 --- a/tests/misc-tests/012-find-root-no-result/test.sh +++ b/tests/misc-tests/012-find-root-no-result/test.sh @@ -3,7 +3,7 @@ # recent fs or balanced fs, whose metadata chunk is the first chunk # and the only metadata chunk -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs-find-root check_prereq btrfs-image diff --git a/tests/misc-tests/013-subvolume-sync-crash/test.sh b/tests/misc-tests/013-subvolume-sync-crash/test.sh index cd445961..051b457a 100755 --- a/tests/misc-tests/013-subvolume-sync-crash/test.sh +++ b/tests/misc-tests/013-subvolume-sync-crash/test.sh @@ -3,7 +3,7 @@ # Verify that subvolume sync waits until the subvolume is cleaned and does not # crash at the end -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/014-filesystem-label/test.sh b/tests/misc-tests/014-filesystem-label/test.sh index 753aa9ea..bd6773cb 100755 --- a/tests/misc-tests/014-filesystem-label/test.sh +++ b/tests/misc-tests/014-filesystem-label/test.sh @@ -2,7 +2,7 @@ # # test label settings -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/015-dump-super-garbage/test.sh b/tests/misc-tests/015-dump-super-garbage/test.sh index 33fc8332..10d8d5b6 100755 --- a/tests/misc-tests/015-dump-super-garbage/test.sh +++ b/tests/misc-tests/015-dump-super-garbage/test.sh @@ -2,7 +2,7 @@ # # let dump-super dump random data, must not crash -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq btrfs diff --git a/tests/misc-tests/016-send-clone-src/test.sh b/tests/misc-tests/016-send-clone-src/test.sh index 2780ebbd..e4fa16a7 100755 --- a/tests/misc-tests/016-send-clone-src/test.sh +++ b/tests/misc-tests/016-send-clone-src/test.sh @@ -3,7 +3,7 @@ # test for sending stream size of clone-src option, compare against a send # stream generated by buggy version -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/017-recv-stream-malformatted/test.sh b/tests/misc-tests/017-recv-stream-malformatted/test.sh index d199a72e..991f2569 100755 --- a/tests/misc-tests/017-recv-stream-malformatted/test.sh +++ b/tests/misc-tests/017-recv-stream-malformatted/test.sh @@ -2,7 +2,7 @@ # # test receiving stream that's not valid, simple cases -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs 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 9ca035f7..79e735ea 100755 --- a/tests/misc-tests/018-recv-end-of-stream/test.sh +++ b/tests/misc-tests/018-recv-end-of-stream/test.sh @@ -3,7 +3,7 @@ # end of stream conditions: test that no instructions in a stream are still # received, at least the header must be present -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh b/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh index 182b0cf9..60ec5cf9 100755 --- a/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh +++ b/tests/misc-tests/019-receive-clones-on-mounted-subvol/test.sh @@ -5,7 +5,7 @@ # have an entry with the same name that corresponds to different inodes in each # snapshot. -source $TOP/tests/common +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs @@ -14,7 +14,7 @@ check_prereq fssum setup_root_helper prepare_test_dev -FSSUM_PROG="$TOP/fssum" +FSSUM_PROG="$INTERNAL_BIN/fssum" srcdir=./send-test-dir rm -rf "$srcdir" mkdir -p "$srcdir" diff --git a/tests/misc-tests/020-fix-superblock-corruption/test.sh b/tests/misc-tests/020-fix-superblock-corruption/test.sh index 77c1a5aa..8f3d20fe 100755 --- a/tests/misc-tests/020-fix-superblock-corruption/test.sh +++ b/tests/misc-tests/020-fix-superblock-corruption/test.sh @@ -2,7 +2,7 @@ # # Corrupt primary superblock and restore it using backup superblock. -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq btrfs-select-super check_prereq btrfs diff --git a/tests/misc-tests/021-image-multi-devices/test.sh b/tests/misc-tests/021-image-multi-devices/test.sh index abf67f90..d78c44fb 100755 --- a/tests/misc-tests/021-image-multi-devices/test.sh +++ b/tests/misc-tests/021-image-multi-devices/test.sh @@ -2,7 +2,7 @@ # Test btrfs-image with multiple devices filesystem and verify that restoring # the created image works against a single device. -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq btrfs-image check_prereq mkfs.btrfs diff --git a/tests/misc-tests/022-filesystem-du-on-empty-subvol/test.sh b/tests/misc-tests/022-filesystem-du-on-empty-subvol/test.sh index 72cf076f..54365289 100755 --- a/tests/misc-tests/022-filesystem-du-on-empty-subvol/test.sh +++ b/tests/misc-tests/022-filesystem-du-on-empty-subvol/test.sh @@ -2,7 +2,7 @@ # # btrfs fi du should handle empty subvolumes (with ino == 2) -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/023-device-usage-with-missing-device/test.sh b/tests/misc-tests/023-device-usage-with-missing-device/test.sh index 3c8ba85c..05894cfe 100755 --- a/tests/misc-tests/023-device-usage-with-missing-device/test.sh +++ b/tests/misc-tests/023-device-usage-with-missing-device/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # check if 'device slack' is reported as zero when a device is missing -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq btrfs-image check_prereq mkfs.btrfs diff --git a/tests/misc-tests/024-inspect-internal-rootid/test.sh b/tests/misc-tests/024-inspect-internal-rootid/test.sh index 40e382bb..71e19044 100755 --- a/tests/misc-tests/024-inspect-internal-rootid/test.sh +++ b/tests/misc-tests/024-inspect-internal-rootid/test.sh @@ -2,7 +2,7 @@ # # test commands of inspect-internal rootid -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/025-zstd-compression/test.sh b/tests/misc-tests/025-zstd-compression/test.sh index e95dcb36..22795d27 100755 --- a/tests/misc-tests/025-zstd-compression/test.sh +++ b/tests/misc-tests/025-zstd-compression/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # Test zstd compression support on a prebuilt btrfs image -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq btrfs check_global_prereq md5sum diff --git a/tests/misc-tests/026-image-non-printable-chars/test.sh b/tests/misc-tests/026-image-non-printable-chars/test.sh index 8018586f..50441a21 100755 --- a/tests/misc-tests/026-image-non-printable-chars/test.sh +++ b/tests/misc-tests/026-image-non-printable-chars/test.sh @@ -2,7 +2,7 @@ # check that sanitized names with matching crc do not contain unprintable # characters, namely 0x7f -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/027-subvol-list-deleted-toplevel/test.sh b/tests/misc-tests/027-subvol-list-deleted-toplevel/test.sh index ee41d71f..3b73dd36 100755 --- a/tests/misc-tests/027-subvol-list-deleted-toplevel/test.sh +++ b/tests/misc-tests/027-subvol-list-deleted-toplevel/test.sh @@ -1,7 +1,7 @@ #!/bin/bash # check that the toplevel subvolume is not listed as regular or deleted -source "$TOP/tests/common" +source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs diff --git a/tests/misc-tests/028-superblock-recover/test.sh b/tests/misc-tests/028-superblock-recover/test.sh new file mode 100755 index 00000000..1175e480 --- /dev/null +++ b/tests/misc-tests/028-superblock-recover/test.sh @@ -0,0 +1,57 @@ +#!/bin/bash +# Test that any superblock is correctly detected and fixed by btrfs rescue + +source "$TOP/tests/common" + +check_prereq btrfs +check_prereq mkfs.btrfs +check_prereq btrfs-select-super + +setup_root_helper +prepare_test_dev 260G + +# Create the test file system. +run_check $SUDO_HELPER "$TOP"/mkfs.btrfs -f "$TEST_DEV" + +function check_corruption { + local sb_offset=$1 + local source_sb=$2 + + # First we ensure we can mount it successfully + run_check_mount_test_dev + run_check_umount_test_dev + + # Now corrupt 1k of the superblock at sb_offset + run_check $SUDO_HELPER dd bs=1K count=1 seek=$(($sb_offset + 1)) if=/dev/zero of="$TEST_DEV" conv=notrunc + + # if corrupting one of the sb copies, copy it over the initial superblock + if [ ! -z $source_sb ]; then + local shift_val=$((16 << $source_sb * 12 )) + run_check $SUDO_HELPER dd bs=1K count=4 seek=64 skip=$shift_val if="$TEST_DEV" of="$TEST_DEV" conv=notrunc + fi + + # we can't use our mount helper, the following works for file image and + # block device as TEST_DEV + run_mustfail "mounted fs with corrupted superblock" \ + $SUDO_HELPER mount "$TEST_DEV" "$TEST_MNT" + + # Now run btrfs rescue which should fix the superblock. It uses 2 + # to signal success of recovery use mayfail to ignore that retval + # but still log the output of the command + run_mayfail $SUDO_HELPER "$TOP"/btrfs rescue super-recover -yv "$TEST_DEV" + if [ $? != 2 ]; then + _fail "couldn't rescue super" + fi + + run_check_mount_test_dev + run_check_umount_test_dev +} + +# Corrupting first superblock +check_corruption 64 + +# Corrupting second superblock +check_corruption 65536 1 + +# Corrupting third superblock +check_corruption 268435456 2 |