ctdb-tests: 00.ctdb testing setup modularisation
[metze/samba/wip.git] / ctdb / tests / eventscripts / 00.ctdb.init.009.sh
1 #!/bin/sh
2
3 . "${TEST_SCRIPTS_DIR}/unit.sh"
4
5 define_test "TDB check, bad TDB multiple times"
6
7 setup
8
9 db="${CTDB_DBDIR}/foo.tdb.0"
10 FAKE_TDB_IS_OK="no"
11
12 required_result_tdbcheck ()
13 {
14         ok <<EOF
15 WARNING: database ${db} is corrupted.
16  Moving to backup ${db}.DATE.TIME.corrupt for later analysis.
17 EOF
18 }
19
20 # List the corrupt databases
21 test_num_corrupt ()
22 {
23         (cd "$CTDB_DBDIR" && ls foo.tdb.0.*.corrupt)
24 }
25
26 # Required result is a list of up to 10 corrupt databases
27 required_result_num_corrupt ()
28 {
29         _num="$1"
30
31         if [ "$_num" -gt 10 ] ; then
32                 _num=10
33         fi
34
35         _t=""
36         for _x in $(seq 1 $_num) ; do
37                 _t="${_t:+${_t}
38 }foo.tdb.0.DATE.TIME.corrupt"
39         done
40
41         ok "$_t"
42 }
43
44 for i in $(seq 1 15) ; do
45         touch "$db"
46         required_result_tdbcheck
47         simple_test
48         required_result_num_corrupt "$i"
49         simple_test_command test_num_corrupt
50 done