#!/bin/bash

if ! test -x $DEBUGFS_EXE; then
	echo "$test_name: $test_description: skipped (no debugfs)"
	return 0
fi
FSCK_OPT=-fy
IMAGE=$test_dir/image.gz

gzip -d < $IMAGE > $TMPFILE
#e2label $TMPFILE test_filesys

# Run fsck to fix things?
EXP=$test_dir/expect
OUT=$test_name.log

$FSCK $FSCK_OPT -N test_filesys $TMPFILE > $OUT.new 2>&1
echo "Exit status is $?" >> $OUT.new

echo "debugfs cat uninit file" >> $OUT.new
echo "ex /a" > $TMPFILE.cmd
echo "cat /a" >> $TMPFILE.cmd
$DEBUGFS -w -f $TMPFILE.cmd $TMPFILE >> $OUT.new 2>&1
echo >> $OUT.new
sed -f $cmd_dir/filter.sed < $OUT.new > $OUT
rm -f $OUT.new $TMPFILE $TMPFILE.cmd

# Figure out what happened
if cmp -s $EXP $OUT; then
	echo "$test_name: $test_description: ok"
	touch $test_name.ok
else
	echo "$test_name: $test_description: failed"
	diff -u $EXP $OUT >> $test_name.failed
fi
unset EXP OUT FSCK_OPT IMAGE
