pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
pcmk_node_is_online_test.c
Go to the documentation of this file.
1 /*
2  * Copyright 2024 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 
12 #include <stdio.h> // NULL
13 #include <glib.h> // TRUE, FALSE
14 
15 #include <crm/common/nodes.h>
17 
18 static void
19 null_is_offline(void **state)
20 {
21  assert_false(pcmk_node_is_online(NULL));
22 }
23 
24 static void
25 node_is_online(void **state)
26 {
27  struct pe_node_shared_s shared = {
28  .online = TRUE,
29  };
30 
31  pcmk_node_t node = {
32  .details = &shared,
33  };
34 
35  assert_true(pcmk_node_is_online(&node));
36 }
37 
38 static void
39 node_is_offline(void **state)
40 {
41  struct pe_node_shared_s shared = {
42  .online = FALSE,
43  };
44  pcmk_node_t node = {
45  .details = &shared,
46  };
47 
48  assert_false(pcmk_node_is_online(&node));
49 }
50 
51 PCMK__UNIT_TEST(NULL, NULL,
52  cmocka_unit_test(null_is_offline),
53  cmocka_unit_test(node_is_online),
54  cmocka_unit_test(node_is_offline))
bool pcmk_node_is_online(const pcmk_node_t *node)
Definition: nodes.c:24
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
struct pe_node_shared_s * details
Definition: nodes.h:168
Scheduler API for nodes.
gboolean online
Definition: nodes.h:81