pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pe__cmp_node_name_test.c
Go to the documentation of this file.
1/*
2 * Copyright 2022-2023 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 General Public License version 2
7 * or later (GPLv2+) WITHOUT ANY WARRANTY.
8 */
9
10#include <crm_internal.h>
11
14
17
20
21static void
22nodes_equal(void **state)
23{
24 assert_int_equal(pe__cmp_node_name(NULL, NULL), 0);
25
26 node1.priv->name = "node10";
27 node2.priv->name = "node10";
28 assert_int_equal(pe__cmp_node_name(&node1, &node2), 0);
29}
30
31static void
32node1_first(void **state)
33{
34 assert_int_equal(pe__cmp_node_name(NULL, &node2), -1);
35
36 // The heavy testing is done in pcmk__numeric_strcasecmp()'s unit tests
37 node1.priv->name = "node9";
38 node2.priv->name = "node10";
39 assert_int_equal(pe__cmp_node_name(&node1, &node2), -1);
40}
41
42static void
43node2_first(void **state)
44{
45 assert_int_equal(pe__cmp_node_name(&node1, NULL), 1);
46
47 node1.priv->name = "node10";
48 node2.priv->name = "node9";
49 assert_int_equal(pe__cmp_node_name(&node1, &node2), 1);
50}
51
52PCMK__UNIT_TEST(NULL, NULL,
53 cmocka_unit_test(nodes_equal),
54 cmocka_unit_test(node1_first),
55 cmocka_unit_test(node2_first))
pcmk_node_t node2
struct pcmk__node_private node2_private
struct pcmk__node_private node1_private
pcmk_node_t node1
gint pe__cmp_node_name(gconstpointer a, gconstpointer b)
Definition utils.c:182
pcmk__node_private_t * priv
Definition nodes.h:85
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)