ctdb-tools: Add database config options to config tool
[metze/samba/wip.git] / ctdb / tests / cunit / config_test_005.sh
1 #!/bin/sh
2
3 . "${TEST_SCRIPTS_DIR}/unit.sh"
4
5 PATH="$PATH:$CTDB_SCRIPTS_HELPER_BINDIR"
6
7 setup_ctdb_base "${TEST_VAR_DIR}" "cunit"
8
9 conffile="${CTDB_BASE}/ctdb.conf"
10 scriptfile="${CTDB_BASE}/debug_locks.sh"
11 dbdir="${CTDB_BASE}/dbdir"
12 dbdir_volatile="${dbdir}/volatile"
13 dbdir_persistent="${dbdir}/persistent"
14 dbdir_state="${dbdir}/state"
15
16 remove_files ()
17 {
18         rm -f "$conffile" "$scriptfile"
19 }
20
21 test_cleanup remove_files
22
23 cat > "$conffile" <<EOF
24 [database]
25     volatile database directory = ${dbdir_volatile}
26     persistent database directory = ${dbdir_persistent}
27     state database directory = ${dbdir_state}
28 EOF
29
30 required_result 22 <<EOF
31 volatile database directory "${dbdir_volatile}" does not exist
32 conf: validation for option "volatile database directory" failed
33 Failed to load config file $conffile
34 EOF
35 unit_test ctdb-config validate
36
37 mkdir -p "$dbdir_volatile"
38
39 required_result 22 <<EOF
40 persistent database directory "${dbdir_persistent}" does not exist
41 conf: validation for option "persistent database directory" failed
42 Failed to load config file $conffile
43 EOF
44 unit_test ctdb-config validate
45
46 mkdir -p "$dbdir_persistent"
47
48 required_result 22 <<EOF
49 state database directory "${dbdir_state}" does not exist
50 conf: validation for option "state database directory" failed
51 Failed to load config file $conffile
52 EOF
53 unit_test ctdb-config validate
54
55 mkdir -p "$dbdir_state"
56
57 required_result 0 <<EOF
58 EOF
59 unit_test ctdb-config validate
60
61 ok <<EOF
62 EOF
63 unit_test ctdb-config get "database" "lock debug script"
64
65 cat > "$conffile" <<EOF
66 [database]
67     lock debug script = $scriptfile
68 EOF
69
70 touch "$scriptfile"
71
72 required_result 22 <<EOF
73 lock debug script $scriptfile is not executable
74 conf: validation for option "lock debug script" failed
75 Failed to load config file $conffile
76 EOF
77 unit_test ctdb-config validate
78
79 chmod +x "$scriptfile"
80
81 ok_null
82 unit_test ctdb-config validate
83
84 rm -f "$scriptfile"
85
86 required_result 22 <<EOF
87 lock debug script $scriptfile does not exist
88 conf: validation for option "lock debug script" failed
89 Failed to load config file $conffile
90 EOF
91 unit_test ctdb-config validate