script revision 35c8faaffcb9a1a75ad1210e605df21978c2b2ce
135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong#!/bin/bash
235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run this test with a specific time, because we're crosslinking an extent tree
435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# block with the inode table.  When fsck sets dtime to now, we want "now" to be
535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# our preprogrammed value.
635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongFSCK_OPT=-fy
835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongIMAGE=$test_dir/image.gz
935c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongE2FSCK_TIME=4294967294
1035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongexport E2FSCK_TIME
1135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
1235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wonggzip -d < $IMAGE > $TMPFILE
1335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wonge2label $TMPFILE test_filesys
1435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
1535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run fsck to fix things?
1635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongEXP1=$test_dir/expect.1
1735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongOUT1=$test_name.1.log
1835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongrm -rf $test_name.failed $test_name.ok
1935c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
2035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong$FSCK $FSCK_OPT $TMPFILE 2>&1 | tail -n +2 > $OUT1
2135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongecho "Exit status is $?" >> $OUT1
2235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
2335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Run a second time
2435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongEXP2=$test_dir/expect.2
2535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. WongOUT2=$test_name.2.log
2635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
2735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong$FSCK $FSCK_OPT $TMPFILE 2>&1 | tail -n +2 > $OUT2
2835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongecho "Exit status is $?" >> $OUT2
2935c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong
3035c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong# Figure out what happened
3135c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongif cmp -s $EXP1 $OUT1 && cmp -s $EXP2 $OUT2; then
3235c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong	echo "$test_name: $test_description: ok"
3335c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong	touch $test_name.ok
3435c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongelse
3535c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong	echo "$test_name: $test_description: failed"
3635c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong	diff -u $EXP1 $OUT1 >> $test_name.failed
3735c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wong	diff -u $EXP2 $OUT2 >> $test_name.failed
3835c8faaffcb9a1a75ad1210e605df21978c2b2ceDarrick J. Wongfi
39