Browse code

Fix return of test_ini_config & test_meta_config

Convert test_ini_config to use the "passed / failed" functions in
unittest.sh. test_meta_config wraps everything into a function; it's
not work unrolling this so just make sure it exits with non-zero if a
test fails.

Change-Id: I9e9883fdad42358255383eede9121b1d361799c8

Ian Wienand authored on 2015/04/17 12:02:49
Showing 2 changed files
... ...
@@ -7,6 +7,9 @@ TOP=$(cd $(dirname "$0")/.. && pwd)
7 7
 # Import config functions
8 8
 source $TOP/inc/ini-config
9 9
 
10
+source $TOP/tests/unittest.sh
11
+
12
+set -e
10 13
 
11 14
 echo "Testing INI functions"
12 15
 
... ...
@@ -70,86 +73,86 @@ echo -n "iniset: test missing attribute argument: "
70 70
 iniset test.ini aaa
71 71
 NO_ATTRIBUTE=$(cat test.ini)
72 72
 if [[ "$BEFORE" == "$NO_ATTRIBUTE" ]]; then
73
-    echo "OK"
73
+    passed
74 74
 else
75
-    echo "failed"
75
+    failed "failed"
76 76
 fi
77 77
 
78 78
 echo -n "iniset: test missing section argument: "
79 79
 iniset test.ini
80 80
 NO_SECTION=$(cat test.ini)
81 81
 if [[ "$BEFORE" == "$NO_SECTION" ]]; then
82
-    echo "OK"
82
+    passed
83 83
 else
84
-    echo "failed"
84
+    failed "failed"
85 85
 fi
86 86
 
87 87
 # Test with spaces
88 88
 
89 89
 VAL=$(iniget test.ini aaa handlers)
90 90
 if [[ "$VAL" == "aa, bb" ]]; then
91
-    echo "OK: $VAL"
91
+    passed "OK: $VAL"
92 92
 else
93
-    echo "iniget failed: $VAL"
93
+    failed "iniget failed: $VAL"
94 94
 fi
95 95
 
96 96
 iniset test.ini aaa handlers "11, 22"
97 97
 
98 98
 VAL=$(iniget test.ini aaa handlers)
99 99
 if [[ "$VAL" == "11, 22" ]]; then
100
-    echo "OK: $VAL"
100
+    passed "OK: $VAL"
101 101
 else
102
-    echo "iniget failed: $VAL"
102
+    failed "iniget failed: $VAL"
103 103
 fi
104 104
 
105 105
 # Test with spaces in section header
106 106
 
107 107
 VAL=$(iniget test.ini " ccc " spaces)
108 108
 if [[ "$VAL" == "yes" ]]; then
109
-    echo "OK: $VAL"
109
+    passed "OK: $VAL"
110 110
 else
111
-    echo "iniget failed: $VAL"
111
+    failed "iniget failed: $VAL"
112 112
 fi
113 113
 
114 114
 iniset test.ini "b b" opt_ion 42
115 115
 
116 116
 VAL=$(iniget test.ini "b b" opt_ion)
117 117
 if [[ "$VAL" == "42" ]]; then
118
-    echo "OK: $VAL"
118
+    passed "OK: $VAL"
119 119
 else
120
-    echo "iniget failed: $VAL"
120
+    failed "iniget failed: $VAL"
121 121
 fi
122 122
 
123 123
 # Test without spaces, end of file
124 124
 
125 125
 VAL=$(iniget test.ini bbb handlers)
126 126
 if [[ "$VAL" == "ee,ff" ]]; then
127
-    echo "OK: $VAL"
127
+    passed "OK: $VAL"
128 128
 else
129
-    echo "iniget failed: $VAL"
129
+    failed "iniget failed: $VAL"
130 130
 fi
131 131
 
132 132
 iniset test.ini bbb handlers "33,44"
133 133
 
134 134
 VAL=$(iniget test.ini bbb handlers)
135 135
 if [[ "$VAL" == "33,44" ]]; then
136
-    echo "OK: $VAL"
136
+    passed "OK: $VAL"
137 137
 else
138
-    echo "iniget failed: $VAL"
138
+    failed "iniget failed: $VAL"
139 139
 fi
140 140
 
141 141
 # test empty option
142 142
 if ini_has_option test.ini ddd empty; then
143
-    echo "OK: ddd.empty present"
143
+    passed "OK: ddd.empty present"
144 144
 else
145
-    echo "ini_has_option failed: ddd.empty not found"
145
+    failed "ini_has_option failed: ddd.empty not found"
146 146
 fi
147 147
 
148 148
 # test non-empty option
149 149
 if ini_has_option test.ini bbb handlers; then
150
-    echo "OK: bbb.handlers present"
150
+    passed "OK: bbb.handlers present"
151 151
 else
152
-    echo "ini_has_option failed: bbb.handlers not found"
152
+    failed "ini_has_option failed: bbb.handlers not found"
153 153
 fi
154 154
 
155 155
 # test changing empty option
... ...
@@ -157,9 +160,9 @@ iniset test.ini ddd empty "42"
157 157
 
158 158
 VAL=$(iniget test.ini ddd empty)
159 159
 if [[ "$VAL" == "42" ]]; then
160
-    echo "OK: $VAL"
160
+    passed "OK: $VAL"
161 161
 else
162
-    echo "iniget failed: $VAL"
162
+    failed "iniget failed: $VAL"
163 163
 fi
164 164
 
165 165
 # test pipe in option
... ...
@@ -167,9 +170,9 @@ iniset test.ini aaa handlers "a|b"
167 167
 
168 168
 VAL=$(iniget test.ini aaa handlers)
169 169
 if [[ "$VAL" == "a|b" ]]; then
170
-    echo "OK: $VAL"
170
+    passed "OK: $VAL"
171 171
 else
172
-    echo "iniget failed: $VAL"
172
+    failed "iniget failed: $VAL"
173 173
 fi
174 174
 
175 175
 # test space in option
... ...
@@ -177,51 +180,51 @@ iniset test.ini aaa handlers "a b"
177 177
 
178 178
 VAL="$(iniget test.ini aaa handlers)"
179 179
 if [[ "$VAL" == "a b" ]]; then
180
-    echo "OK: $VAL"
180
+    passed "OK: $VAL"
181 181
 else
182
-    echo "iniget failed: $VAL"
182
+    failed "iniget failed: $VAL"
183 183
 fi
184 184
 
185 185
 # Test section not exist
186 186
 
187 187
 VAL=$(iniget test.ini zzz handlers)
188 188
 if [[ -z "$VAL" ]]; then
189
-    echo "OK: zzz not present"
189
+    passed "OK: zzz not present"
190 190
 else
191
-    echo "iniget failed: $VAL"
191
+    failed "iniget failed: $VAL"
192 192
 fi
193 193
 
194 194
 iniset test.ini zzz handlers "999"
195 195
 
196 196
 VAL=$(iniget test.ini zzz handlers)
197 197
 if [[ -n "$VAL" ]]; then
198
-    echo "OK: zzz not present"
198
+    passed "OK: zzz not present"
199 199
 else
200
-    echo "iniget failed: $VAL"
200
+    failed "iniget failed: $VAL"
201 201
 fi
202 202
 
203 203
 # Test option not exist
204 204
 
205 205
 VAL=$(iniget test.ini aaa debug)
206 206
 if [[ -z "$VAL" ]]; then
207
-    echo "OK aaa.debug not present"
207
+    passed "OK aaa.debug not present"
208 208
 else
209
-    echo "iniget failed: $VAL"
209
+    failed "iniget failed: $VAL"
210 210
 fi
211 211
 
212 212
 if ! ini_has_option test.ini aaa debug; then
213
-    echo "OK aaa.debug not present"
213
+    passed "OK aaa.debug not present"
214 214
 else
215
-    echo "ini_has_option failed: aaa.debug"
215
+    failed "ini_has_option failed: aaa.debug"
216 216
 fi
217 217
 
218 218
 iniset test.ini aaa debug "999"
219 219
 
220 220
 VAL=$(iniget test.ini aaa debug)
221 221
 if [[ -n "$VAL" ]]; then
222
-    echo "OK aaa.debug present"
222
+    passed "OK aaa.debug present"
223 223
 else
224
-    echo "iniget failed: $VAL"
224
+    failed "iniget failed: $VAL"
225 225
 fi
226 226
 
227 227
 # Test comments
... ...
@@ -230,9 +233,9 @@ inicomment test.ini aaa handlers
230 230
 
231 231
 VAL=$(iniget test.ini aaa handlers)
232 232
 if [[ -z "$VAL" ]]; then
233
-    echo "OK"
233
+    passed "OK"
234 234
 else
235
-    echo "inicomment failed: $VAL"
235
+    failed "inicomment failed: $VAL"
236 236
 fi
237 237
 
238 238
 # Test multiple line iniset/iniget
... ...
@@ -242,25 +245,25 @@ VAL=$(iniget_multiline test.ini eee multi)
242 242
 if [[ "$VAL" == "bar1 bar2" ]]; then
243 243
     echo "OK: iniset_multiline"
244 244
 else
245
-    echo "iniset_multiline failed: $VAL"
245
+    failed "iniset_multiline failed: $VAL"
246 246
 fi
247 247
 
248 248
 # Test iniadd with exiting values
249 249
 iniadd test.ini eee multi bar3
250 250
 VAL=$(iniget_multiline test.ini eee multi)
251 251
 if [[ "$VAL" == "bar1 bar2 bar3" ]]; then
252
-    echo "OK: iniadd"
252
+    passed "OK: iniadd"
253 253
 else
254
-    echo "iniadd failed: $VAL"
254
+    failed "iniadd failed: $VAL"
255 255
 fi
256 256
 
257 257
 # Test iniadd with non-exiting values
258 258
 iniadd test.ini eee non-multi foobar1 foobar2
259 259
 VAL=$(iniget_multiline test.ini eee non-multi)
260 260
 if [[ "$VAL" == "foobar1 foobar2" ]]; then
261
-    echo "OK: iniadd with non-exiting value"
261
+    passed "OK: iniadd with non-exiting value"
262 262
 else
263
-    echo "iniadd with non-exsting failed: $VAL"
263
+    failed "iniadd with non-exsting failed: $VAL"
264 264
 fi
265 265
 
266 266
 # Test inidelete
... ...
@@ -276,20 +279,22 @@ for x in $del_cases; do
276 276
     inidelete test.ini $x a
277 277
     VAL=$(iniget_multiline test.ini $x a)
278 278
     if [ -z "$VAL" ]; then
279
-        echo "OK: inidelete $x"
279
+        passed "OK: inidelete $x"
280 280
     else
281
-        echo "inidelete $x failed: $VAL"
281
+        failed "inidelete $x failed: $VAL"
282 282
     fi
283 283
     if [ "$x" = "del_separate_options" -o \
284 284
         "$x" = "del_missing_option" -o \
285 285
         "$x" = "del_missing_option_multi" ]; then
286 286
         VAL=$(iniget_multiline test.ini $x b)
287 287
         if [ "$VAL" = "c" -o "$VAL" = "c d" ]; then
288
-            echo "OK: inidelete other_options $x"
288
+            passed "OK: inidelete other_options $x"
289 289
         else
290
-            echo "inidelete other_option $x failed: $VAL"
290
+            failed "inidelete other_option $x failed: $VAL"
291 291
         fi
292 292
     fi
293 293
 done
294 294
 
295 295
 rm test.ini
296
+
297
+report_results
... ...
@@ -17,6 +17,7 @@ function check_result {
17 17
         echo "OK"
18 18
     else
19 19
         echo -e "failed: $actual != $expected\n"
20
+        exit 1
20 21
     fi
21 22
 }
22 23