tests: move inode and its interior extent tree block

Add a test case for the bug fixed in 4b3038134b: "resize2fs: update
checksums in the extent tree's relocated block"

Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Theodore Ts'o 2018-10-20 10:11:21 -04:00
parent 4b3038134b
commit 8d24eeb71a
4 changed files with 58 additions and 0 deletions

View File

@ -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

Binary file not shown.

View File

@ -0,0 +1 @@
move inode and its interior extent tree block

View File

@ -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