1 /* SPDX-License-Identifier: LGPL-2.1-or-later */
3 #include "emergency-action.h"
6 TEST(parse_emergency_action
) {
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
);
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
);
51 DEFINE_TEST_MAIN(LOG_INFO
);