1 /* SPDX-License-Identifier: LGPL-2.1+ */
3 #include "emergency-action.h"
6 static void test_parse_emergency_action(void) {
9 log_info("/* %s */", __func__
);
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
);
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
);
45 int main(int argc
, char **argv
) {
46 test_setup_logging(LOG_INFO
);
48 test_parse_emergency_action();