1 #!/bin/bash 2 3 # Run this test with a specific time, because we're crosslinking an extent tree 4 # block with the inode table. When fsck sets dtime to now, we want "now" to be 5 # our preprogrammed value. 6 7 FSCK_OPT=-fy 8 IMAGE=$test_dir/image.gz 9 E2FSCK_TIME=4294967294 10 export E2FSCK_TIME 11 12 gzip -d < $IMAGE > $TMPFILE 13 14 # Run fsck to fix things? 15 EXP1=$test_dir/expect.1 16 OUT1=$test_name.1.log 17 rm -rf $test_name.failed $test_name.ok 18 19 $FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT1 20 echo "Exit status is $?" >> $OUT1 21 22 # Run a second time 23 EXP2=$test_dir/expect.2 24 OUT2=$test_name.2.log 25 26 $FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT2 27 echo "Exit status is $?" >> $OUT2 28 29 # Figure out what happened 30 if cmp -s $EXP1 $OUT1 && cmp -s $EXP2 $OUT2; then 31 echo "$test_name: $test_description: ok" 32 touch $test_name.ok 33 else 34 echo "$test_name: $test_description: failed" 35 diff -u $EXP1 $OUT1 >> $test_name.failed 36 diff -u $EXP2 $OUT2 >> $test_name.failed 37 fi 38