]>
git.ipfire.org Git - thirdparty/systemd.git/blob - src/test/test-exit-status.c
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
3 #include "exit-status.h"
4 #include "string-util.h"
7 TEST(exit_status_to_string
) {
8 for (int i
= -1; i
<= 256; i
++) {
11 s
= exit_status_to_string(i
, EXIT_STATUS_FULL
);
12 class = exit_status_class(i
);
13 log_info("%d: %s%s%s%s",
15 class ? " (" : "", strempty(class), class ? ")" : "");
18 assert_se(exit_status_from_string(s
) == i
);
22 TEST(exit_status_from_string
) {
23 assert_se(exit_status_from_string("11") == 11);
24 assert_se(exit_status_from_string("-1") == -ERANGE
);
25 assert_se(exit_status_from_string("256") == -ERANGE
);
26 assert_se(exit_status_from_string("foo") == -EINVAL
);
27 assert_se(exit_status_from_string("SUCCESS") == 0);
28 assert_se(exit_status_from_string("FAILURE") == 1);
31 TEST(exit_status_NUMA_POLICY
) {
32 ASSERT_STREQ(exit_status_to_string(EXIT_NUMA_POLICY
, EXIT_STATUS_FULL
), "NUMA_POLICY");
33 ASSERT_STREQ(exit_status_to_string(EXIT_NUMA_POLICY
, EXIT_STATUS_SYSTEMD
), "NUMA_POLICY");
34 assert_se(!exit_status_to_string(EXIT_NUMA_POLICY
, EXIT_STATUS_BSD
));
35 assert_se(!exit_status_to_string(EXIT_NUMA_POLICY
, EXIT_STATUS_LSB
));
38 DEFINE_TEST_MAIN(LOG_DEBUG
);