pacemaker 2.1.5-a3f44794f94
Scalable High-Availability cluster resource manager
pcmk__add_scores_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 Lesser General Public License
7 * version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
8 */
9
10#include <crm_internal.h>
11
13
14static void
15score1_minus_inf(void **state)
16{
22}
23
24static void
25score2_minus_inf(void **state)
26{
31}
32
33static void
34score1_pos_inf(void **state)
35{
40}
41
42static void
43score2_pos_inf(void **state)
44{
48}
49
50static void
51result_infinite(void **state)
52{
53 assert_int_equal(pcmk__add_scores(INT_MAX, INT_MAX), CRM_SCORE_INFINITY);
54 assert_int_equal(pcmk__add_scores(INT_MIN, INT_MIN), -CRM_SCORE_INFINITY);
55 assert_int_equal(pcmk__add_scores(2000000, 50), CRM_SCORE_INFINITY);
56 assert_int_equal(pcmk__add_scores(-4000000, 50), -CRM_SCORE_INFINITY);
57}
58
59static void
60result_finite(void **state)
61{
62 assert_int_equal(pcmk__add_scores(0, 0), 0);
63 assert_int_equal(pcmk__add_scores(0, 100), 100);
64 assert_int_equal(pcmk__add_scores(200, 0), 200);
65 assert_int_equal(pcmk__add_scores(200, -50), 150);
66}
67
68PCMK__UNIT_TEST(NULL, NULL,
69 cmocka_unit_test(score1_minus_inf),
70 cmocka_unit_test(score2_minus_inf),
71 cmocka_unit_test(score1_pos_inf),
72 cmocka_unit_test(score2_pos_inf),
73 cmocka_unit_test(result_infinite),
74 cmocka_unit_test(result_finite))
int pcmk__add_scores(int score1, int score2)
Definition: scores.c:113
#define CRM_SCORE_INFINITY
Definition: crm.h:85
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)