pacemaker  2.1.4-dc6eb4362
Scalable High-Availability cluster resource manager
pcmk_xe_is_probe_test.c
Go to the documentation of this file.
1 /*
2  * Copyright 2021 the Pacemaker project contributors
3  *
4  * The version control history for this file may have further details.
5  *
6  * This source code is licensed under the GNU Lesser General Public License
7  * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8  */
9 
10 #include <crm_internal.h>
11 
12 #include <stdarg.h>
13 #include <stddef.h>
14 #include <stdint.h>
15 #include <stdlib.h>
16 #include <setjmp.h>
17 #include <cmocka.h>
18 
19 static void
20 op_is_probe_test(void **state)
21 {
22  xmlNode *node = NULL;
23 
24  assert_false(pcmk_xe_is_probe(NULL));
25 
26  node = string2xml("<lrm_rsc_op/>");
27  assert_false(pcmk_xe_is_probe(node));
28  free_xml(node);
29 
30  node = string2xml("<lrm_rsc_op operation_key=\"blah\" interval=\"30s\"/>");
31  assert_false(pcmk_xe_is_probe(node));
32  free_xml(node);
33 
34  node = string2xml("<lrm_rsc_op operation=\"monitor\" interval=\"30s\"/>");
35  assert_false(pcmk_xe_is_probe(node));
36  free_xml(node);
37 
38  node = string2xml("<lrm_rsc_op operation=\"start\" interval=\"0\"/>");
39  assert_false(pcmk_xe_is_probe(node));
40  free_xml(node);
41 
42  node = string2xml("<lrm_rsc_op operation=\"monitor\" interval=\"0\"/>");
43  assert_true(pcmk_xe_is_probe(node));
44  free_xml(node);
45 }
46 
47 int main(int argc, char **argv)
48 {
49  const struct CMUnitTest tests[] = {
50  cmocka_unit_test(op_is_probe_test),
51  };
52 
53  cmocka_set_message_output(CM_OUTPUT_TAP);
54  return cmocka_run_group_tests(tests, NULL, NULL);
55 }
xmlNode * string2xml(const char *input)
Definition: xml.c:869
int main(int argc, char **argv)
void free_xml(xmlNode *child)
Definition: xml.c:824
bool pcmk_xe_is_probe(xmlNode *xml_op)
Definition: operations.c:552