chiark / gitweb /
sd-login: add calls that retrieve credentials of peers connected to AF_UNIX peers
[elogind.git] / src / login / test-login.c
index d78cea46af9a8a5efd0090025070b71a8957086b..2ab083bb71960b447acda01b082fdd3a67fb72ae 100644 (file)
@@ -28,6 +28,8 @@
 #include "strv.h"
 
 static void test_login(void) {
+        _cleanup_close_pipe_ int pair[2] = { -1, -1 };
+        _cleanup_free_ char *pp = NULL, *qq = NULL;
         int r, k;
         uid_t u, u2;
         char *seat, *type, *class, *display, *remote_user, *remote_host;
@@ -47,6 +49,11 @@ static void test_login(void) {
         assert_se(sd_pid_get_owner_uid(0, &u2) == 0);
         printf("user = %lu\n", (unsigned long) u2);
 
+        assert_se(socketpair(AF_UNIX, SOCK_STREAM, 0, pair) == 0);
+        sd_peer_get_session(pair[0], &pp);
+        sd_peer_get_session(pair[1], &qq);
+        assert_se(streq_ptr(pp, qq));
+
         r = sd_uid_get_sessions(u2, false, &sessions);
         assert_se(r >= 0);
         assert_se(r == (int) strv_length(sessions));