pacemaker  2.1.9-49aab99839
Scalable High-Availability cluster resource manager
pcmk_get_dc_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 <crm/common/scheduler.h>
14 
15 static void
16 null_scheduler(void **state)
17 {
18  assert_null(pcmk_get_dc(NULL));
19 }
20 
21 static void
22 null_dc(void **state)
23 {
25  .dc_node = NULL,
26  };
27 
28  assert_null(pcmk_get_dc(&scheduler));
29 }
30 
31 static void
32 valid_dc(void **state)
33 {
34  pcmk_node_t dc = {
35  .weight = 1,
36  };
38  .dc_node = &dc,
39  };
40 
41  assert_ptr_equal(&dc, pcmk_get_dc(&scheduler));
42 }
43 
44 PCMK__UNIT_TEST(NULL, NULL,
45  cmocka_unit_test(null_scheduler),
46  cmocka_unit_test(null_dc),
47  cmocka_unit_test(valid_dc))
pcmk_node_t * pcmk_get_dc(const pcmk_scheduler_t *scheduler)
Definition: scheduler.c:33
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)
Scheduler API.
int weight
Definition: nodes.h:163
pcmk_scheduler_t * scheduler
pcmk_node_t * dc_node
Definition: scheduler.h:203