diff options
Diffstat (limited to 'tests/f_badcluster/script')
-rw-r--r-- | tests/f_badcluster/script | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/f_badcluster/script b/tests/f_badcluster/script new file mode 100644 index 0000000..6c9e1cf --- /dev/null +++ b/tests/f_badcluster/script @@ -0,0 +1,29 @@ +if ! test -x $DEBUGFS_EXE; then + echo "$test_name: $test_description: skipped (no debugfs)" + return 0 +fi + +IMAGE=$test_dir/../f_badcluster/image.gz +OUT=$test_name.log +EXP=$test_dir/expect +gzip -d < $IMAGE > $TMPFILE +$FSCK -fy $TMPFILE > $OUT.new 2>&1 +$FSCK -fy $TMPFILE >> $OUT.new 2>&1 +$FSCK -fy $TMPFILE >> $OUT.new 2>&1 +for i in a b c d e f g; do echo "stat /$i"; done > $TMPFILE.cmd +echo "quit" >> $TMPFILE.cmd +$DEBUGFS -f $TMPFILE.cmd $TMPFILE >> $OUT.new 2>&1 +sed -f $cmd_dir/filter.sed $OUT.new > $OUT +rm -f $TMPFILE $TMPFILE.cmd $OUT.new + +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 + rm -f $test_name.tmp +fi |