]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - tests/scripts/resize_test
tests: remove pre-generated f_extent_htree image
[thirdparty/e2fsprogs.git] / tests / scripts / resize_test
CommitLineData
e79a9395
TT
1#!/bin/sh
2
5bb66e37
AD
3# old distros are missing "truncate", emulate it with "dd"
4truncate()
5{
6 [ "$1" = "-s" ] && size=$2 && shift 2
7
8 dd if=/dev/zero of=$1 bs=1 count=0 seek=$size >> $LOG 2>&1
9}
10
e79a9395 11resize_test () {
45a78b88 12DBG_FLAGS=63
e79a9395 13
5bb66e37 14echo $test_description starting > $LOG
e79a9395
TT
15rm -f $TMPFILE
16touch $TMPFILE
5ad07aca
AD
17
18# Verify that the $TMP filesystem handles $SIZE_2 sparse files.
19# If that fails, try the local filesystem instead.
20if truncate -s $SIZE_2 $TMPFILE 2> /dev/null; then
5bb66e37 21 echo "using $TMPFILE" >> $LOG
5ad07aca
AD
22else
23 rm $TMPFILE
bdeb2dba 24 export TMPFILE=$(mktemp ./$test_name.tmp.XXXXXX)
5ad07aca 25 touch $TMPFILE
5bb66e37
AD
26 echo "using $TMPFILE" >> $LOG
27 if ! truncate -s $SIZE_2 $TMPFILE >> $LOG 2>&1; then
5ad07aca
AD
28 rm $TMPFILE
29 return 111
30 fi
31fi
5bb66e37 32> $TMPFILE
5ad07aca 33
5bb66e37 34echo $MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
e79a9395
TT
35$MKE2FS $FEATURES -qF $TMPFILE $SIZE_1 >> $LOG
36
bdeb2dba 37OUT_TMP=$(mktemp ${TMPDIR:-/tmp}/csum-tmp.XXXXXX)
e79a9395
TT
38
39date > $OUT_TMP
40cat $E2FSCK >> $OUT_TMP
41echo $CRCSUM $OUT_TMP >> $LOG 2>&1
42CSUM_1=$($CRCSUM $OUT_TMP)
43echo Checksum is $CSUM_1 >> $LOG
44
45echo Setting up file system >> $LOG
46$DEBUGFS -w $TMPFILE >> $LOG 2>&1 << EOF
47mkdir test
48cd test
49write $OUT_TMP e2fsck
50ls /test
51stat /test/e2fsck
52quit
53EOF
54echo " " >> $LOG
55
56rm -f $OUT_TMP
57
58echo $FSCK -fy $TMPFILE >> $LOG 2>&1
59$FSCK -fy $TMPFILE >> $LOG 2>&1
60
45a78b88
TT
61echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
62if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS $TMPFILE $SIZE_2 >> $LOG 2>&1
e79a9395
TT
63then
64 return 1
65fi
66
188949d7
TT
67echo $FSCK -fy $TMPFILE >> $LOG 2>&1
68if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
e79a9395 69then
7cb2ed25 70 $DUMPE2FS $TMPFILE >> $LOG
e79a9395
TT
71 return 1
72fi
73
74echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
75$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
76
77echo $CRCSUM $OUT_TMP >> $LOG 2>&1
78CSUM_2=$($CRCSUM $OUT_TMP)
79echo Checksum is $CSUM_2 >> $LOG
80
81if test "$CSUM_1" != "$CSUM_2"
82then
83 return 1
84fi
85
45a78b88
TT
86# Uncomment to grab extra debugging image
87#
88#mv $TMPFILE /tmp/foo.img
89#return 0
90
91echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
92if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
e79a9395
TT
93then
94 return 1
95fi
96
188949d7
TT
97echo $FSCK -fy $TMPFILE >> $LOG 2>&1
98if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
e79a9395 99then
7cb2ed25 100 $DUMPE2FS $TMPFILE >> $LOG
e79a9395
TT
101 return 1
102fi
103
104echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
105$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
106
107echo $CRCSUM $OUT_TMP >> $LOG 2>&1
108CSUM_2=$($CRCSUM $OUT_TMP)
109echo Checksum is $CSUM_2 >> $LOG
110
111if test "$CSUM_1" != "$CSUM_2"
112then
113 return 1
114fi
115
45a78b88
TT
116echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
117if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
e79a9395
TT
118then
119 return 1
120fi
121
188949d7
TT
122echo $FSCK -fy $TMPFILE >> $LOG 2>&1
123if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
e79a9395 124then
7cb2ed25 125 $DUMPE2FS $TMPFILE >> $LOG
e79a9395
TT
126 return 1
127fi
128
129echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
130$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
131
132echo $CRCSUM $OUT_TMP >> $LOG 2>&1
133CSUM_2=$($CRCSUM $OUT_TMP)
134echo Checksum is $CSUM_2 >> $LOG
135
136if test "$CSUM_1" != "$CSUM_2"
137then
138 return 1
139fi
140
45a78b88
TT
141echo $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
142if ! $RESIZE2FS $RESIZE2FS_OPTS -d $DBG_FLAGS -M $TMPFILE $SIZE_2 >> $LOG 2>&1
e79a9395
TT
143then
144 return 1
145fi
146
188949d7
TT
147echo $FSCK -fy $TMPFILE >> $LOG 2>&1
148if ! $FSCK -fy $TMPFILE >> $LOG 2>&1
e79a9395 149then
7cb2ed25 150 $DUMPE2FS $TMPFILE >> $LOG
e79a9395
TT
151 return 1
152fi
153
154echo $DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
155$DEBUGFS -R "dump /test/e2fsck $OUT_TMP" $TMPFILE >> $LOG 2>&1
156
157echo $CRCSUM $OUT_TMP >> $LOG 2>&1
158CSUM_2=$($CRCSUM $OUT_TMP)
159echo Checksum is $CSUM_2 >> $LOG
160
161rm $OUT_TMP
162unset OUT_TMP
163
96fae886
TT
164rm -f $TMPFILE
165
e79a9395
TT
166if test "$CSUM_1" != "$CSUM_2"
167then
168 return 1
169fi
170
171return 0
172
173}