]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
logind: test: make sure string of HandleAction and SleepOperation match
authorMike Yuan <me@yhndnzj.com>
Thu, 2 Nov 2023 17:07:26 +0000 (01:07 +0800)
committerMike Yuan <me@yhndnzj.com>
Tue, 5 Dec 2023 14:18:32 +0000 (22:18 +0800)
src/login/test-login-tables.c

index 3c5ec04271f562bce0dbb1b09875efc1c396f64a..1278af7504c70dd4ba9d8bab343f2d2b1e2e919a 100644 (file)
@@ -2,9 +2,24 @@
 
 #include "logind-action.h"
 #include "logind-session.h"
+#include "sleep-config.h"
 #include "test-tables.h"
 #include "tests.h"
 
+static void test_sleep_handle_action(void) {
+        for (HandleAction action = _HANDLE_ACTION_SLEEP_FIRST; action < _HANDLE_ACTION_SLEEP_LAST; action++) {
+                const HandleActionData *data;
+                const char *sleep_operation_str, *handle_action_str;
+
+                assert_se(data = handle_action_lookup(action));
+
+                assert_se(handle_action_str = handle_action_to_string(action));
+                assert_se(sleep_operation_str = sleep_operation_to_string(data->sleep_operation));
+
+                assert_se(streq(handle_action_str, sleep_operation_str));
+        }
+}
+
 int main(int argc, char **argv) {
         test_setup_logging(LOG_DEBUG);
 
@@ -16,5 +31,7 @@ int main(int argc, char **argv) {
         test_table(session_type, SESSION_TYPE);
         test_table(user_state, USER_STATE);
 
+        test_sleep_handle_action();
+
         return EXIT_SUCCESS;
 }