case6
809 Bytes
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/bash
TESTFILE=testfile.$$
./mkcart > $TESTFILE
. ./testlib.sh
export BBC_BAD_BLKS=
export BBC_READ_DBE_BLKS=
export BBC_WRITE_ERR_BLKS=
echo "Test (6) Read $1 with bad block"
##### Add file first (already tested in case 1)
sk=$(($RANDOM % 256))
dd if=common/rdata of=tmp.$$ bs=1 count=16384 skip=$sk >$OUTPUT 2>&1
emsh << END_OF_FILE >$OUTPUT 2>&1
u ./$TESTFILE
B
F
A
P$2 tmp.$$
END_OF_FILE
cp ./$TESTFILE bkup.$$
export BBC_BAD_BLKS=4079
emsh << END_OF_FILE >out6.$$ 2>err6.$$
u ./$TESTFILE
B
A
G$2 tmp1.$$
END_OF_FILE
check_log 6 out
check_log 6 err
if [ -f tmp1.$$ ]; then
echo "Failed (6): GC should not create file"
exit
fi
if ! cmp bkup.$$ ./$TESTFILE; then
echo "Failed (6): card data change during GC"
exit
fi
rm -rf ./$TESTFILE err6.$$ out.$$ tmp*.$$ bkup.$$
exit 0