chiark / gitweb /
Prep v234: Apply missing upstream fixes in src/login (3/6)
[elogind.git] / src / libelogind / sd-login / test-login.c
index a2f59717ece4d9d08ed1103c90fff1b670d10f33..3eb11cf4a0ebdd8b0e0be08c9f28bed587bf7719 100644 (file)
@@ -43,7 +43,7 @@ static char* format_uids(char **buf, uid_t* uids, int count) {
                 pos += inc;
         }
 
-        assert_se(pos < size);
+        assert_se(pos < (ssize_t)size);
         (*buf)[pos] = '\0';
 
         return *buf;
@@ -61,15 +61,17 @@ static void test_login(void) {
         uid_t u, u2;
         char *t, **seats, **sessions;
 
-        assert_se(sd_pid_get_unit(0, &unit) >= 0);
-        log_info("sd_pid_get_unit(0, …) → \"%s\"", unit);
+        r = sd_pid_get_unit(0, &unit);
+        assert_se(r >= 0 || r == -ENODATA);
+        log_info("sd_pid_get_unit(0, …) → \"%s\"", strna(unit));
 
         r = sd_pid_get_user_unit(0, &user_unit);
         assert_se(r >= 0 || r == -ENODATA);
-        log_info("sd_pid_get_user_unit(0, …) → \"%s\"", user_unit);
+        log_info("sd_pid_get_user_unit(0, …) → \"%s\"", strna(user_unit));
 
-        assert_se(sd_pid_get_slice(0, &slice) >= 0);
-        log_info("sd_pid_get_slice(0, …) → \"%s\"", slice);
+        r = sd_pid_get_slice(0, &slice);
+        assert_se(r >= 0 || r == -ENODATA);
+        log_info("sd_pid_get_slice(0, …) → \"%s\"", strna(slice));
 
         r = sd_pid_get_session(0, &session);
         if (r < 0) {
@@ -249,8 +251,9 @@ static void test_login(void) {
                 assert_se(r >= 0);
                 assert_se(r == (int) strv_length(machines));
                 assert_se(buf = strv_join(machines, " "));
-
                 log_info("sd_get_machines(…) → [%i] \"%s\"", r, buf);
+
+                assert_se(sd_get_machine_names(NULL) == r);
         }
 }