tizen 2.4 release
[external/systemd.git] / src / libsystemd / sd-login / test-login.c
similarity index 92%
rename from src/login/test-login.c
rename to src/libsystemd/sd-login/test-login.c
index d78cea4..28f88a1 100644 (file)
 #include <sys/poll.h>
 #include <string.h>
 
-#include <systemd/sd-login.h>
+#include "systemd/sd-login.h"
 
 #include "util.h"
 #include "strv.h"
 
 static void test_login(void) {
+        _cleanup_close_pair_ 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;
@@ -45,7 +47,12 @@ static void test_login(void) {
         printf("session = %s\n", session);
 
         assert_se(sd_pid_get_owner_uid(0, &u2) == 0);
-        printf("user = %lu\n", (unsigned long) u2);
+        printf("user = "UID_FMT"\n", 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);
@@ -81,7 +88,7 @@ static void test_login(void) {
         free(state);
 
         assert_se(sd_session_get_uid(session, &u) >= 0);
-        printf("uid = %lu\n", (unsigned long) u);
+        printf("uid = "UID_FMT"\n", u);
         assert_se(u == u2);
 
         assert_se(sd_session_get_type(session, &type) >= 0);
@@ -130,7 +137,7 @@ static void test_login(void) {
 
         assert_se(sd_seat_get_active(seat, &session2, &u2) >= 0);
         printf("session2 = %s\n", session2);
-        printf("uid2 = %lu\n", (unsigned long) u2);
+        printf("uid2 = "UID_FMT"\n", u2);
 
         r = sd_seat_get_sessions(seat, &sessions, &uids, &n);
         assert_se(r >= 0);
@@ -142,7 +149,7 @@ static void test_login(void) {
         free(t);
         printf("uids =");
         for (k = 0; k < (int) n; k++)
-                printf(" %lu", (unsigned long) uids[k]);
+                printf(" "UID_FMT, uids[k]);
         printf("\n");
         free(uids);
 
@@ -185,7 +192,7 @@ static void test_login(void) {
 
         printf("uids =");
         for (k = 0; k < r; k++)
-                printf(" %lu", (unsigned long) uids[k]);
+                printf(" "UID_FMT, uids[k]);
         printf("\n");
         free(uids);