pacemaker 3.0.1-16e74fc4da
Scalable High-Availability cluster resource manager
Loading...
Searching...
No Matches
pe__cmp_rsc_priority_test.c
Go to the documentation of this file.
1/*
2 * Copyright 2022 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
15#include "pe_status_private.h"
16
19static pcmk_resource_t rsc1 = { .priv = &rsc1_private };
20static pcmk_resource_t rsc2 = { .priv = &rsc2_private };
21
22static void
23rscs_equal(void **state)
24{
25 rsc1.priv->priority = 0;
26 rsc2.priv->priority = 0;
27 assert_int_equal(pe__cmp_rsc_priority(NULL, NULL), 0);
28 assert_int_equal(pe__cmp_rsc_priority(&rsc1, &rsc2), 0);
29}
30
31static void
32rsc1_first(void **state)
33{
34 rsc1.priv->priority = 1;
35 rsc2.priv->priority = 0;
36 assert_int_equal(pe__cmp_rsc_priority(&rsc1, NULL), -1);
37 assert_int_equal(pe__cmp_rsc_priority(&rsc1, &rsc2), -1);
38}
39
40static void
41rsc2_first(void **state)
42{
43 rsc1.priv->priority = 0;
44 rsc2.priv->priority = 1;
45 assert_int_equal(pe__cmp_rsc_priority(NULL, &rsc2), 1);
46 assert_int_equal(pe__cmp_rsc_priority(&rsc1, &rsc2), 1);
47}
48
49PCMK__UNIT_TEST(NULL, NULL,
50 cmocka_unit_test(rscs_equal),
51 cmocka_unit_test(rsc1_first),
52 cmocka_unit_test(rsc2_first))
G_GNUC_INTERNAL gint pe__cmp_rsc_priority(gconstpointer a, gconstpointer b)
Definition utils.c:332
@ pcmk__rsc_variant_primitive
Primitive resource.
pcmk__resource_private_t * priv
Definition resources.h:61
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)