pacemaker 3.0.1-16e74fc4da
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 struct pcmk__node_assignment assign = {
35 .score = 1,
36 };
37 pcmk_node_t dc = {
38 .assign = &assign,
39 };
41 .dc_node = &dc,
42 };
43
44 assert_ptr_equal(&dc, pcmk_get_dc(&scheduler));
45}
46
47PCMK__UNIT_TEST(NULL, NULL,
48 cmocka_unit_test(null_scheduler),
49 cmocka_unit_test(null_dc),
50 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:212
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)