summaryrefslogtreecommitdiffstats
path: root/tests/f_itable_collision/script
blob: 66abd9022ae4fa214906eef60b5a2f641bb4d102 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/bin/bash

# Run this test with a specific time, because we're crosslinking an extent tree
# block with the inode table.  When fsck sets dtime to now, we want "now" to be
# our preprogrammed value.

FSCK_OPT=-fy
IMAGE=$test_dir/image.gz
E2FSCK_TIME=4294967294
export E2FSCK_TIME

gzip -d < $IMAGE > $TMPFILE

# Run fsck to fix things?
EXP1=$test_dir/expect.1
OUT1=$test_name.1.log

$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT1
echo "Exit status is $?" >> $OUT1

# Run a second time
EXP2=$test_dir/expect.2
OUT2=$test_name.2.log

$FSCK $FSCK_OPT -N test_filesys $TMPFILE 2>&1 | tail -n +2 > $OUT2
echo "Exit status is $?" >> $OUT2

# Figure out what happened
if cmp -s $EXP1 $OUT1 && cmp -s $EXP2 $OUT2; then
	echo "$test_name: $test_description: ok"
	touch $test_name.ok
else
	echo "$test_name: $test_description: failed"
	diff -u $EXP1 $OUT1 >> $test_name.failed
	diff -u $EXP2 $OUT2 >> $test_name.failed
fi