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
OUT=$test_name.log
EXP=$test_dir/expect

gunzip < $IMAGE > $TMPFILE

echo "resize2fs test" > $OUT.new

# Look at existing inline extended attribute
echo "debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \\(''" >> $OUT.new
$DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep -E "^Inode|in inode body|user.name \(" >> $OUT.new
status=$?
echo Exit status is $status >> $OUT.new

# resize it
echo "resize2fs test.img 5M" >> $OUT.new
$RESIZE2FS $TMPFILE 5M >> $OUT.new 2>&1
status=$?
echo Exit status is $status >> $OUT.new

# Look at inline extended attribute in resized fs
echo "debugfs -R ''stat file'' test.img 2>&1 | grep -E ''^Inode\|in inode body\|user.name \\(''" >> $OUT.new
$DEBUGFS -R "stat file" $TMPFILE 2>&1 | grep -E "^Inode|in inode body|user.name \(" >> $OUT.new
status=$?
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
