summaryrefslogtreecommitdiffstats
path: root/tests/f_badcluster/script
diff options
context:
space:
mode:
Diffstat (limited to 'tests/f_badcluster/script')
-rw-r--r--tests/f_badcluster/script29
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