You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
873 B
37 lines
873 B
#!/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
|