]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/test/test-emergency-action.c
license: LGPL-2.1+ -> LGPL-2.1-or-later
[thirdparty/systemd.git] / src / test / test-emergency-action.c
1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
2
3 #include "emergency-action.h"
4 #include "tests.h"
5
6 static void test_parse_emergency_action(void) {
7 EmergencyAction x;
8
9 log_info("/* %s */", __func__);
10
11 assert_se(parse_emergency_action("none", false, &x) == 0);
12 assert_se(x == EMERGENCY_ACTION_NONE);
13 assert_se(parse_emergency_action("reboot", false, &x) == -EOPNOTSUPP);
14 assert_se(parse_emergency_action("reboot-force", false, &x) == -EOPNOTSUPP);
15 assert_se(parse_emergency_action("reboot-immediate", false, &x) == -EOPNOTSUPP);
16 assert_se(parse_emergency_action("poweroff", false, &x) == -EOPNOTSUPP);
17 assert_se(parse_emergency_action("poweroff-force", false, &x) == -EOPNOTSUPP);
18 assert_se(parse_emergency_action("poweroff-immediate", false, &x) == -EOPNOTSUPP);
19 assert_se(x == EMERGENCY_ACTION_NONE);
20 assert_se(parse_emergency_action("exit", false, &x) == 0);
21 assert_se(x == EMERGENCY_ACTION_EXIT);
22 assert_se(parse_emergency_action("exit-force", false, &x) == 0);
23 assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
24 assert_se(parse_emergency_action("exit-forcee", false, &x) == -EINVAL);
25
26 assert_se(parse_emergency_action("none", true, &x) == 0);
27 assert_se(x == EMERGENCY_ACTION_NONE);
28 assert_se(parse_emergency_action("reboot", true, &x) == 0);
29 assert_se(x == EMERGENCY_ACTION_REBOOT);
30 assert_se(parse_emergency_action("reboot-force", true, &x) == 0);
31 assert_se(x == EMERGENCY_ACTION_REBOOT_FORCE);
32 assert_se(parse_emergency_action("reboot-immediate", true, &x) == 0);
33 assert_se(x == EMERGENCY_ACTION_REBOOT_IMMEDIATE);
34 assert_se(parse_emergency_action("poweroff", true, &x) == 0);
35 assert_se(x == EMERGENCY_ACTION_POWEROFF);
36 assert_se(parse_emergency_action("poweroff-force", true, &x) == 0);
37 assert_se(x == EMERGENCY_ACTION_POWEROFF_FORCE);
38 assert_se(parse_emergency_action("poweroff-immediate", true, &x) == 0);
39 assert_se(parse_emergency_action("exit", true, &x) == 0);
40 assert_se(parse_emergency_action("exit-force", true, &x) == 0);
41 assert_se(parse_emergency_action("exit-forcee", true, &x) == -EINVAL);
42 assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
43 }
44
45 int main(int argc, char **argv) {
46 test_setup_logging(LOG_INFO);
47
48 test_parse_emergency_action();
49
50 return EXIT_SUCCESS;
51 }