ctdb-common: Log a message for unknown conf option
[garming/samba-autobuild/.git] / ctdb / tests / cunit / conf_test_001.sh
1 #!/bin/sh
2
3 . "${TEST_SCRIPTS_DIR}/unit.sh"
4
5 conffile="${TEST_VAR_DIR}/config.$$"
6
7 remove_files ()
8 {
9         rm -f "$conffile"
10 }
11
12 test_cleanup remove_files
13
14 ok_null
15 unit_test conf_test 1
16
17 ok <<EOF
18 conf: unknown section [section1]
19 EOF
20 unit_test conf_test 2
21
22 ok <<EOF
23 conf: option "key1" already exists
24 EOF
25 unit_test conf_test 3
26
27 ok <<EOF
28 conf: option "key1" already exists
29 EOF
30 unit_test conf_test 4
31
32 ok_null
33 unit_test conf_test 5
34
35 ok <<EOF
36 [section1]
37         key1 = foobar # temporary
38         key2 = 20 # temporary
39         key3 = false # temporary
40 EOF
41 unit_test conf_test 6
42
43 ok <<EOF
44 conf: validation for option "key1" failed
45 conf: validation for option "key2" failed
46 conf: validation for option "key3" failed
47 EOF
48 unit_test conf_test 7
49
50 cat > "$conffile" <<EOF
51 [section1]
52 EOF
53
54 required_result 22 <<EOF
55 conf: validation for section [section1] failed
56 [section1]
57         # key1 = default
58 EOF
59 unit_test conf_test 8 "$conffile"
60
61 cat > "$conffile" <<EOF
62 [section1]
63     key1 = unknown
64 EOF
65
66 required_result 22 <<EOF
67 conf: validation for section [section1] failed
68 [section1]
69         # key1 = default
70 EOF
71 unit_test conf_test 8 "$conffile"
72
73 cat > "$conffile" <<EOF
74
75 [section1]
76     key1 = value2  
77     key2 =     20  # comment
78 key3    =    false
79 EOF
80
81 ok <<EOF
82 [section1]
83         key1 = value2
84         key2 = 20
85         # key3 = true
86 EOF
87 unit_test conf_test 9 "$conffile"
88
89 cat > "$conffile" <<EOF
90 [section1]
91 key1 = value2  
92 EOF
93
94 ok <<EOF
95 [section1]
96         key1 = value2
97         # key2 = 10
98         # key3 = true
99 EOF
100 unit_test conf_test 9 "$conffile"
101
102 cat > "$conffile" <<EOF
103 [section2]
104     foo = bar
105 EOF
106
107 required_result 22 <<EOF
108 conf: unknown section [section2]
109 [section1]
110         # key1 = value1
111         # key2 = 10
112         key3 = false # temporary
113 EOF
114 unit_test conf_test 10 "$conffile"
115
116 cat > "$conffile" <<EOF
117 [section1]
118     key1 = value2
119     foo = bar
120     key2 = 20
121 EOF
122
123 required_result 2 <<EOF
124 conf: unknown option [section1] -> "foo"
125 [section1]
126         # key1 = value1
127         # key2 = 10
128         key3 = false # temporary
129 EOF
130 unit_test conf_test 10 "$conffile"
131
132 cat > "$conffile" <<EOF
133 [section1]
134     key1 = value2
135     key2 = 20
136     key3 = false
137 EOF
138
139 touch "${conffile}.reload"
140
141 ok <<EOF
142 [section1]
143         # key1 = value1
144         # key2 = 10
145         # key3 = true
146 EOF
147 unit_test conf_test 11 "$conffile"
148
149 cat > "$conffile" <<EOF
150 [section1]
151     key1 = value2
152     key2 = 20
153     key3 = false
154 EOF
155
156 cat > "${conffile}.reload" <<EOF
157 [section1]
158     key1 = value3
159 EOF
160
161 ok <<EOF
162 [section1]
163         key1 = value3
164         # key2 = 10
165         # key3 = true
166 EOF
167 unit_test conf_test 11 "$conffile"