From: Theodore Ts'o Date: Sat, 20 Oct 2018 14:11:21 +0000 (-0400) Subject: tests: move inode and its interior extent tree block X-Git-Tag: v1.44.5~15 X-Git-Url: https://git.whamcloud.com/gitweb?a=commitdiff_plain;h=8d24eeb71a7743a22e3d4b029592490000cb939f;p=tools%2Fe2fsprogs.git tests: move inode and its interior extent tree block Add a test case for the bug fixed in 4b3038134baf: "resize2fs: update checksums in the extent tree's relocated block" Signed-off-by: Theodore Ts'o --- diff --git a/tests/r_move_inode_int_extent/expect b/tests/r_move_inode_int_extent/expect new file mode 100644 index 0000000..1de31d0 --- /dev/null +++ b/tests/r_move_inode_int_extent/expect @@ -0,0 +1,15 @@ +resize2fs test +resize2fs test.img 8M +Resizing the filesystem on test.img to 8192 (1k) blocks. +The filesystem on test.img is now 8192 (1k) blocks long. + +Exit status is 0 + +fsck -yf -E fixes_only -N test_filesys test.img +Pass 1: Checking inodes, blocks, and sizes +Pass 2: Checking directory structure +Pass 3: Checking directory connectivity +Pass 4: Checking reference counts +Pass 5: Checking group summary information +test_filesys: 14/2048 files (0.0% non-contiguous), 1445/8192 blocks +Exit status is 0 diff --git a/tests/r_move_inode_int_extent/image.gz b/tests/r_move_inode_int_extent/image.gz new file mode 100644 index 0000000..d5de18f Binary files /dev/null and b/tests/r_move_inode_int_extent/image.gz differ diff --git a/tests/r_move_inode_int_extent/name b/tests/r_move_inode_int_extent/name new file mode 100644 index 0000000..64a55b5 --- /dev/null +++ b/tests/r_move_inode_int_extent/name @@ -0,0 +1 @@ +move inode and its interior extent tree block diff --git a/tests/r_move_inode_int_extent/script b/tests/r_move_inode_int_extent/script new file mode 100644 index 0000000..9c1a392 --- /dev/null +++ b/tests/r_move_inode_int_extent/script @@ -0,0 +1,42 @@ +if ! test -x $RESIZE2FS_EXE -o ! -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs/resize2fs)" + return 0 +fi + +IMAGE=$test_dir/image.gz +FSCK_OPT="-yf -E fixes_only" +OUT=$test_name.log +EXP=$test_dir/expect + +gunzip < $IMAGE > $TMPFILE + +echo "resize2fs test" > $OUT.new + +echo "resize2fs test.img 8M" >> $OUT.new +$RESIZE2FS $TMPFILE 8M >> $OUT.new 2>&1 +status=$? +echo Exit status is $status >> $OUT.new + +echo " " >> $OUT.new +echo fsck $FSCK_OPT -N test_filesys test.img >> $OUT.new +$FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT.new 2>&1 +echo Exit status is $status >> $OUT.new +sed -f $cmd_dir/filter.sed $OUT.new > $OUT +rm $TMPFILE $OUT.new + +# +# Do the verification +# + +cmp -s $OUT $EXP +status=$? + +if [ "$status" = 0 ] ; then + echo "$test_name: $test_description: ok" + touch $test_name.ok +else + echo "$test_name: $test_description: failed" + diff $DIFF_OPTS $EXP $OUT > $test_name.failed +fi + +unset IMAGE FSCK_OPT OUT EXP