#!/bin/bash

FSCK_OPT=-fy
IMAGE=$test_dir/image.bz2

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

# Run fsck to fix things?
EXP1=$test_dir/expect.1
OUT1=$test_name.1.log
rm -f $test_name.failed $test_name.ok

$FSCK $FSCK_OPT $TMPFILE 2>&1 | head -n 1000 | tail -n +2 > $OUT1
echo "Exit status is $?" >> $OUT1

# Run a second time
EXP2=$test_dir/expect.2
OUT2=$test_name.2.log

$FSCK $FSCK_OPT $TMPFILE 2>&1 | head -n 1000 | tail -n +2 > $OUT2
echo "Exit status is $?" >> $OUT2

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