| if ! test -x $RESIZE2FS_EXE -o ! -x $DEBUGFS_EXE; then | 
 | 	echo "$test_name: $test_description: skipped (no debugfs/resize2fs)" | 
 | 	return 0 | 
 | fi | 
 |  | 
 | FSCK_OPT=-fn | 
 | OUT=$test_name.log | 
 | EXP=$test_dir/expect | 
 | CONF=$TMPFILE.conf | 
 |  | 
 | cat > $CONF << ENDL | 
 | [fs_types] | 
 | 	ext4h = { | 
 | 		features = has_journal,extent,huge_file,flex_bg,uninit_bg,dir_nlink,extra_isize,sparse_super,filetype,dir_index,ext_attr,resize_inode,64bit | 
 | 		blocksize = 1024 | 
 | 		inode_size = 256 | 
 | 		make_hugefiles = true | 
 | 		hugefiles_dir = / | 
 | 		hugefiles_slack = 0 | 
 | 		hugefiles_name = aaaaa | 
 | 		hugefiles_digits = 4 | 
 | 		hugefiles_size = 1M | 
 | 		zero_hugefiles = false | 
 | 	} | 
 | ENDL | 
 |  | 
 | echo "resize2fs test" > $OUT | 
 |  | 
 | MKE2FS_CONFIG=$CONF $MKE2FS -F -T ext4h -o Linux $TMPFILE 524288 >> $OUT 2>&1 | 
 | rm -f $CONF | 
 |  | 
 | # dump and check | 
 | ($DUMPE2FS -h $TMPFILE; $DUMPE2FS -g $TMPFILE) 2> /dev/null | sed -f $cmd_dir/filter.sed > $OUT.before | 
 | $FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 | 
 | status=$? | 
 | echo Exit status is $status >> $OUT | 
 |  | 
 | # resize it | 
 | echo "resize2fs test.img -s" >> $OUT | 
 | $RESIZE2FS -s -f $TMPFILE >> $OUT 2>&1 | 
 | status=$? | 
 | echo Exit status is $status >> $OUT | 
 |  | 
 | # dump and check | 
 | ($DUMPE2FS -h $TMPFILE; $DUMPE2FS -g $TMPFILE) 2> /dev/null | sed -f $cmd_dir/filter.sed > $OUT.after | 
 | echo "Change in FS metadata:" >> $OUT | 
 | diff -u $OUT.before $OUT.after | tail -n +3 >> $OUT | 
 | $FSCK $FSCK_OPT -N test_filesys $TMPFILE >> $OUT 2>&1 | 
 | status=$? | 
 | echo Exit status is $status >> $OUT | 
 |  | 
 | rm $TMPFILE | 
 |  | 
 | # | 
 | # Do the verification | 
 | # | 
 |  | 
 | sed -f $cmd_dir/filter.sed -e 's/test_filesys:.*//g' < $OUT > $OUT.new | 
 | mv $OUT.new $OUT | 
 |  | 
 | 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 | 
 |  | 
 | rm $OUT.before $OUT.after | 
 |  | 
 | unset IMAGE FSCK_OPT OUT EXP CONF |