pacemaker 2.1.5-a3f44794f94
Scalable High-Availability cluster resource manager
pcmk__results_test.c
Go to the documentation of this file.
1/*
2 * Copyright 2020-2021 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
14#include <glib.h>
15#include <bzlib.h>
16
17static void
18test_for_pcmk_rc_name(void **state) {
19 assert_string_equal(pcmk_rc_name(pcmk_rc_error-1), "pcmk_rc_unknown_format");
20 assert_string_equal(pcmk_rc_name(pcmk_rc_ok), "pcmk_rc_ok");
21 assert_string_equal(pcmk_rc_name(pcmk_rc_ok), "pcmk_rc_ok");
22 assert_string_equal(pcmk_rc_name(-7777777), "Unknown");
23}
24
25static void
26test_for_pcmk_rc_str(void **state) {
27 assert_string_equal(pcmk_rc_str(pcmk_rc_error-1), "Unknown output format");
28 assert_string_equal(pcmk_rc_str(pcmk_rc_ok), "OK");
29 assert_string_equal(pcmk_rc_str(-1), "Error");
30}
31
32static void
33test_for_crm_exit_name(void **state) {
34 assert_string_equal(crm_exit_name(CRM_EX_OK), "CRM_EX_OK");
35}
36
37static void
38test_for_crm_exit_str(void **state) {
39 assert_string_equal(crm_exit_str(CRM_EX_OK), "OK");
40 assert_string_equal(crm_exit_str(129), "Interrupted by signal");
41 assert_string_equal(crm_exit_str(-7777777), "Unknown exit status");
42}
43
44static void
45test_for_pcmk_rc2exitc(void **state) {
46 assert_int_equal(pcmk_rc2exitc(pcmk_rc_ok), CRM_EX_OK);
47 assert_int_equal(pcmk_rc2exitc(-7777777), CRM_EX_ERROR);
48}
49
50static void
51test_for_bz2_strerror(void **state) {
52 assert_string_equal(bz2_strerror(BZ_STREAM_END), "Ok");
53}
54
55PCMK__UNIT_TEST(NULL, NULL,
56 cmocka_unit_test(test_for_pcmk_rc_name),
57 cmocka_unit_test(test_for_pcmk_rc_str),
58 cmocka_unit_test(test_for_crm_exit_name),
59 cmocka_unit_test(test_for_crm_exit_str),
60 cmocka_unit_test(test_for_pcmk_rc2exitc),
61 cmocka_unit_test(test_for_bz2_strerror))
const char * pcmk_rc_name(int rc)
Get a return code constant name as a string.
Definition: results.c:316
const char * bz2_strerror(int rc)
Definition: results.c:823
const char * pcmk_rc_str(int rc)
Get a user-friendly description of a return code.
Definition: results.c:476
@ CRM_EX_ERROR
Unspecified error.
Definition: results.h:235
@ CRM_EX_OK
Success.
Definition: results.h:234
@ pcmk_rc_ok
Definition: results.h:148
@ pcmk_rc_error
Definition: results.h:144
const char * crm_exit_name(crm_exit_t exit_code)
Definition: results.c:563
const char * crm_exit_str(crm_exit_t exit_code)
Definition: results.c:615
crm_exit_t pcmk_rc2exitc(int rc)
Map a function return code to the most similar exit code.
Definition: results.c:677
#define PCMK__UNIT_TEST(group_setup, group_teardown,...)