This source file includes following definitions.
- op_is_not_probe_test
- op_does_not_have_right_values_test
- check_values_test
1
2
3
4
5
6
7
8
9
10 #include <crm_internal.h>
11
12 #include <crm/common/probes.h>
13 #include <crm/common/unittest_internal.h>
14
15 static void
16 op_is_not_probe_test(void **state) {
17 xmlNode *node = NULL;
18
19
20
21
22
23 node = pcmk__xml_parse("<" PCMK__XE_LRM_RSC_OP " "
24 PCMK_XA_OPERATION
25 "=\"" PCMK_ACTION_START "\" "
26 PCMK_META_INTERVAL "=\"0\"/>");
27 assert_false(pcmk_xe_mask_probe_failure(node));
28 pcmk__xml_free(node);
29 }
30
31 static void
32 op_does_not_have_right_values_test(void **state) {
33 xmlNode *node = NULL;
34 char *s = NULL;
35
36 node = pcmk__xml_parse("<" PCMK__XE_LRM_RSC_OP " "
37 PCMK_XA_OPERATION
38 "=\"" PCMK_ACTION_MONITOR "\" "
39 PCMK_META_INTERVAL "=\"0\"/>");
40 assert_false(pcmk_xe_mask_probe_failure(node));
41 pcmk__xml_free(node);
42
43 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
44 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
45 PCMK_META_INTERVAL "=\"0\" "
46 PCMK__XA_RC_CODE "=\"%d\" "
47 PCMK__XA_OP_STATUS "=\"\"/>",
48 PCMK_OCF_OK);
49 node = pcmk__xml_parse(s);
50 assert_false(pcmk_xe_mask_probe_failure(node));
51 free(s);
52 pcmk__xml_free(node);
53 }
54
55 static void
56 check_values_test(void **state) {
57 xmlNode *node = NULL;
58 char *s = NULL;
59
60
61 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
62 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
63 PCMK_META_INTERVAL "=\"0\" "
64 PCMK__XA_RC_CODE "=\"%d\" "
65 PCMK__XA_OP_STATUS "=\"%d\"/>",
66 PCMK_OCF_OK, PCMK_EXEC_NOT_SUPPORTED);
67 node = pcmk__xml_parse(s);
68 assert_false(pcmk_xe_mask_probe_failure(node));
69 free(s);
70 pcmk__xml_free(node);
71
72 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
73 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
74 PCMK_META_INTERVAL "=\"0\" "
75 PCMK__XA_RC_CODE "=\"%d\" "
76 PCMK__XA_OP_STATUS "=\"%d\"/>",
77 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_NOT_SUPPORTED);
78 node = pcmk__xml_parse(s);
79 assert_true(pcmk_xe_mask_probe_failure(node));
80 free(s);
81 pcmk__xml_free(node);
82
83
84 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
85 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
86 PCMK_META_INTERVAL "=\"0\" "
87 PCMK__XA_RC_CODE "=\"%d\" "
88 PCMK__XA_OP_STATUS "=\"%d\"/>",
89 PCMK_OCF_OK, PCMK_EXEC_DONE);
90 node = pcmk__xml_parse(s);
91 assert_false(pcmk_xe_mask_probe_failure(node));
92 free(s);
93 pcmk__xml_free(node);
94
95 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
96 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
97 PCMK_META_INTERVAL "=\"0\" "
98 PCMK__XA_RC_CODE "=\"%d\" "
99 PCMK__XA_OP_STATUS "=\"%d\"/>",
100 PCMK_OCF_INVALID_PARAM, PCMK_EXEC_DONE);
101 node = pcmk__xml_parse(s);
102 assert_true(pcmk_xe_mask_probe_failure(node));
103 free(s);
104 pcmk__xml_free(node);
105
106 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
107 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
108 PCMK_META_INTERVAL "=\"0\" "
109 PCMK__XA_RC_CODE "=\"%d\" "
110 PCMK__XA_OP_STATUS "=\"%d\"/>",
111 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_DONE);
112 node = pcmk__xml_parse(s);
113 assert_true(pcmk_xe_mask_probe_failure(node));
114 free(s);
115 pcmk__xml_free(node);
116
117 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
118 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
119 PCMK_META_INTERVAL "=\"0\" "
120 PCMK__XA_RC_CODE "=\"%d\" "
121 PCMK__XA_OP_STATUS "=\"%d\"/>",
122 PCMK_OCF_NOT_CONFIGURED, PCMK_EXEC_DONE);
123 node = pcmk__xml_parse(s);
124 assert_false(pcmk_xe_mask_probe_failure(node));
125 free(s);
126 pcmk__xml_free(node);
127
128 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
129 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
130 PCMK_META_INTERVAL "=\"0\" "
131 PCMK__XA_RC_CODE "=\"%d\" "
132 PCMK__XA_OP_STATUS "=\"%d\"/>",
133 PCMK_OCF_NOT_RUNNING, PCMK_EXEC_DONE);
134 node = pcmk__xml_parse(s);
135 assert_false(pcmk_xe_mask_probe_failure(node));
136 free(s);
137 pcmk__xml_free(node);
138
139
140 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
141 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
142 PCMK_META_INTERVAL "=\"0\" "
143 PCMK__XA_RC_CODE "=\"%d\" "
144 PCMK__XA_OP_STATUS "=\"%d\"/>",
145 PCMK_OCF_OK, PCMK_EXEC_NOT_INSTALLED);
146 node = pcmk__xml_parse(s);
147 assert_true(pcmk_xe_mask_probe_failure(node));
148 free(s);
149 pcmk__xml_free(node);
150
151 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
152 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
153 PCMK_META_INTERVAL "=\"0\" "
154 PCMK__XA_RC_CODE "=\"%d\" "
155 PCMK__XA_OP_STATUS "=\"%d\"/>",
156 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_NOT_INSTALLED);
157 node = pcmk__xml_parse(s);
158 assert_true(pcmk_xe_mask_probe_failure(node));
159 free(s);
160 pcmk__xml_free(node);
161
162
163 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
164 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
165 PCMK_META_INTERVAL "=\"0\" "
166 PCMK__XA_RC_CODE "=\"%d\" "
167 PCMK__XA_OP_STATUS "=\"%d\"/>",
168 PCMK_OCF_OK, PCMK_EXEC_ERROR);
169 node = pcmk__xml_parse(s);
170 assert_false(pcmk_xe_mask_probe_failure(node));
171 free(s);
172 pcmk__xml_free(node);
173
174 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
175 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
176 PCMK_META_INTERVAL "=\"0\" "
177 PCMK__XA_RC_CODE "=\"%d\" "
178 PCMK__XA_OP_STATUS "=\"%d\"/>",
179 PCMK_OCF_INVALID_PARAM, PCMK_EXEC_ERROR);
180 node = pcmk__xml_parse(s);
181 assert_true(pcmk_xe_mask_probe_failure(node));
182 free(s);
183 pcmk__xml_free(node);
184
185 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
186 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
187 PCMK_META_INTERVAL "=\"0\" "
188 PCMK__XA_RC_CODE "=\"%d\" "
189 PCMK__XA_OP_STATUS "=\"%d\"/>",
190 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_ERROR);
191 node = pcmk__xml_parse(s);
192 assert_true(pcmk_xe_mask_probe_failure(node));
193 free(s);
194 pcmk__xml_free(node);
195
196 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
197 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
198 PCMK_META_INTERVAL "=\"0\" "
199 PCMK__XA_RC_CODE "=\"%d\" "
200 PCMK__XA_OP_STATUS "=\"%d\"/>",
201 PCMK_OCF_NOT_CONFIGURED, PCMK_EXEC_ERROR);
202 node = pcmk__xml_parse(s);
203 assert_false(pcmk_xe_mask_probe_failure(node));
204 free(s);
205 pcmk__xml_free(node);
206
207 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
208 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
209 PCMK_META_INTERVAL "=\"0\" "
210 PCMK__XA_RC_CODE "=\"%d\" "
211 PCMK__XA_OP_STATUS "=\"%d\"/>",
212 PCMK_OCF_NOT_RUNNING, PCMK_EXEC_ERROR);
213 node = pcmk__xml_parse(s);
214 assert_false(pcmk_xe_mask_probe_failure(node));
215 free(s);
216 pcmk__xml_free(node);
217
218
219 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
220 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
221 PCMK_META_INTERVAL "=\"0\" "
222 PCMK__XA_RC_CODE "=\"%d\" "
223 PCMK__XA_OP_STATUS "=\"%d\"/>",
224 PCMK_OCF_OK, PCMK_EXEC_ERROR_HARD);
225 node = pcmk__xml_parse(s);
226 assert_false(pcmk_xe_mask_probe_failure(node));
227 free(s);
228 pcmk__xml_free(node);
229
230 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
231 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
232 PCMK_META_INTERVAL "=\"0\" "
233 PCMK__XA_RC_CODE "=\"%d\" "
234 PCMK__XA_OP_STATUS "=\"%d\"/>",
235 PCMK_OCF_INVALID_PARAM, PCMK_EXEC_ERROR_HARD);
236 node = pcmk__xml_parse(s);
237 assert_true(pcmk_xe_mask_probe_failure(node));
238 free(s);
239 pcmk__xml_free(node);
240
241 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
242 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
243 PCMK_META_INTERVAL "=\"0\" "
244 PCMK__XA_RC_CODE "=\"%d\" "
245 PCMK__XA_OP_STATUS "=\"%d\"/>",
246 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_ERROR_HARD);
247 node = pcmk__xml_parse(s);
248 assert_true(pcmk_xe_mask_probe_failure(node));
249 free(s);
250 pcmk__xml_free(node);
251
252 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
253 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
254 PCMK_META_INTERVAL "=\"0\" "
255 PCMK__XA_RC_CODE "=\"%d\" "
256 PCMK__XA_OP_STATUS "=\"%d\"/>",
257 PCMK_OCF_NOT_CONFIGURED, PCMK_EXEC_ERROR_HARD);
258 node = pcmk__xml_parse(s);
259 assert_false(pcmk_xe_mask_probe_failure(node));
260 free(s);
261 pcmk__xml_free(node);
262
263 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
264 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
265 PCMK_META_INTERVAL "=\"0\" "
266 PCMK__XA_RC_CODE "=\"%d\" "
267 PCMK__XA_OP_STATUS "=\"%d\"/>",
268 PCMK_OCF_NOT_RUNNING, PCMK_EXEC_ERROR_HARD);
269 node = pcmk__xml_parse(s);
270 assert_false(pcmk_xe_mask_probe_failure(node));
271 free(s);
272 pcmk__xml_free(node);
273
274
275 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
276 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
277 PCMK_META_INTERVAL "=\"0\" "
278 PCMK__XA_RC_CODE "=\"%d\" "
279 PCMK__XA_OP_STATUS "=\"%d\"/>",
280 PCMK_OCF_OK, PCMK_EXEC_ERROR_FATAL);
281 node = pcmk__xml_parse(s);
282 assert_false(pcmk_xe_mask_probe_failure(node));
283 free(s);
284 pcmk__xml_free(node);
285
286 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
287 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
288 PCMK_META_INTERVAL "=\"0\" "
289 PCMK__XA_RC_CODE "=\"%d\" "
290 PCMK__XA_OP_STATUS "=\"%d\"/>",
291 PCMK_OCF_INVALID_PARAM, PCMK_EXEC_ERROR_FATAL);
292 node = pcmk__xml_parse(s);
293 assert_true(pcmk_xe_mask_probe_failure(node));
294 free(s);
295 pcmk__xml_free(node);
296
297 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
298 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
299 PCMK_META_INTERVAL "=\"0\" "
300 PCMK__XA_RC_CODE "=\"%d\" "
301 PCMK__XA_OP_STATUS "=\"%d\"/>",
302 PCMK_OCF_NOT_INSTALLED, PCMK_EXEC_ERROR_FATAL);
303 node = pcmk__xml_parse(s);
304 assert_true(pcmk_xe_mask_probe_failure(node));
305 free(s);
306 pcmk__xml_free(node);
307
308 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
309 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
310 PCMK_META_INTERVAL "=\"0\" "
311 PCMK__XA_RC_CODE "=\"%d\" "
312 PCMK__XA_OP_STATUS "=\"%d\"/>",
313 PCMK_OCF_NOT_CONFIGURED, PCMK_EXEC_ERROR_FATAL);
314 node = pcmk__xml_parse(s);
315 assert_false(pcmk_xe_mask_probe_failure(node));
316 free(s);
317 pcmk__xml_free(node);
318
319 s = crm_strdup_printf("<" PCMK__XE_LRM_RSC_OP " "
320 PCMK_XA_OPERATION "=\"" PCMK_ACTION_MONITOR "\" "
321 PCMK_META_INTERVAL "=\"0\" "
322 PCMK__XA_RC_CODE "=\"%d\" "
323 PCMK__XA_OP_STATUS "=\"%d\"/>",
324 PCMK_OCF_NOT_RUNNING, PCMK_EXEC_ERROR_FATAL);
325 node = pcmk__xml_parse(s);
326 assert_false(pcmk_xe_mask_probe_failure(node));
327 free(s);
328 pcmk__xml_free(node);
329 }
330
331 PCMK__UNIT_TEST(pcmk__xml_test_setup_group, pcmk__xml_test_teardown_group,
332 cmocka_unit_test(op_is_not_probe_test),
333 cmocka_unit_test(op_does_not_have_right_values_test),
334 cmocka_unit_test(check_values_test))