pacemaker 2.1.4-dc6eb4362e
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
19static void
20op_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
47int 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}
bool pcmk_xe_is_probe(xmlNode *xml_op)
Definition: operations.c:552
int main(int argc, char **argv)
xmlNode * string2xml(const char *input)
Definition: xml.c:869
void free_xml(xmlNode *child)
Definition: xml.c:824