]> git.ipfire.org Git - thirdparty/systemd.git/blob - src/test/test-emergency-action.c
Merge pull request #32915 from yuwata/machine-id-setup
[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 TEST(parse_emergency_action) {
7 EmergencyAction x;
8
9 assert_se(parse_emergency_action("none", RUNTIME_SCOPE_USER, &x) == 0);
10 assert_se(x == EMERGENCY_ACTION_NONE);
11 assert_se(parse_emergency_action("reboot", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
12 assert_se(parse_emergency_action("reboot-force", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
13 assert_se(parse_emergency_action("reboot-immediate", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
14 assert_se(parse_emergency_action("poweroff", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
15 assert_se(parse_emergency_action("poweroff-force", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
16 assert_se(parse_emergency_action("poweroff-immediate", RUNTIME_SCOPE_USER, &x) == -EOPNOTSUPP);
17 assert_se(x == EMERGENCY_ACTION_NONE);
18 assert_se(parse_emergency_action("exit", RUNTIME_SCOPE_USER, &x) == 0);
19 assert_se(x == EMERGENCY_ACTION_EXIT);
20 assert_se(parse_emergency_action("exit-force", RUNTIME_SCOPE_USER, &x) == 0);
21 assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
22 assert_se(parse_emergency_action("exit-forcee", RUNTIME_SCOPE_USER, &x) == -EINVAL);
23
24 assert_se(parse_emergency_action("none", RUNTIME_SCOPE_SYSTEM, &x) == 0);
25 assert_se(x == EMERGENCY_ACTION_NONE);
26 assert_se(parse_emergency_action("reboot", RUNTIME_SCOPE_SYSTEM, &x) == 0);
27 assert_se(x == EMERGENCY_ACTION_REBOOT);
28 assert_se(parse_emergency_action("reboot-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
29 assert_se(x == EMERGENCY_ACTION_REBOOT_FORCE);
30 assert_se(parse_emergency_action("reboot-immediate", RUNTIME_SCOPE_SYSTEM, &x) == 0);
31 assert_se(x == EMERGENCY_ACTION_REBOOT_IMMEDIATE);
32 assert_se(parse_emergency_action("poweroff", RUNTIME_SCOPE_SYSTEM, &x) == 0);
33 assert_se(x == EMERGENCY_ACTION_POWEROFF);
34 assert_se(parse_emergency_action("poweroff-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
35 assert_se(x == EMERGENCY_ACTION_POWEROFF_FORCE);
36 assert_se(parse_emergency_action("poweroff-immediate", RUNTIME_SCOPE_SYSTEM, &x) == 0);
37 assert_se(parse_emergency_action("exit", RUNTIME_SCOPE_SYSTEM, &x) == 0);
38 assert_se(parse_emergency_action("exit-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
39 assert_se(parse_emergency_action("exit-forcee", RUNTIME_SCOPE_SYSTEM, &x) == -EINVAL);
40 assert_se(x == EMERGENCY_ACTION_EXIT_FORCE);
41 assert_se(parse_emergency_action("kexec", RUNTIME_SCOPE_SYSTEM, &x) == 0);
42 assert_se(parse_emergency_action("kexec-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
43 assert_se(parse_emergency_action("kexec-forcee", RUNTIME_SCOPE_SYSTEM, &x) == -EINVAL);
44 assert_se(x == EMERGENCY_ACTION_KEXEC_FORCE);
45 assert_se(parse_emergency_action("halt", RUNTIME_SCOPE_SYSTEM, &x) == 0);
46 assert_se(parse_emergency_action("halt-force", RUNTIME_SCOPE_SYSTEM, &x) == 0);
47 assert_se(parse_emergency_action("halt-forcee", RUNTIME_SCOPE_SYSTEM, &x) == -EINVAL);
48 assert_se(x == EMERGENCY_ACTION_HALT_FORCE);
49 }
50
51 DEFINE_TEST_MAIN(LOG_INFO);