pacemaker 2.1.8-2.1.8
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
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
14
15static void
16null_scheduler(void **state)
17{
18 assert_null(pcmk_get_dc(NULL));
19}
20
21static void
22null_dc(void **state)
23{
25 .dc_node = NULL,
26 };
27
28 assert_null(pcmk_get_dc(&scheduler));
29}
30
31static void
32valid_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
44PCMK__UNIT_TEST(NULL, NULL,
45 cmocka_unit_test(null_scheduler),
46 cmocka_unit_test(null_dc),
47 cmocka_unit_test(valid_dc))
pcmk_scheduler_t * scheduler
Scheduler API.
pcmk_node_t * pcmk_get_dc(const pcmk_scheduler_t *scheduler)
Definition scheduler.c:33
int weight
Definition nodes.h:162
pcmk_node_t * dc_node
Definition scheduler.h:203
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)