chiark / gitweb /
login: add new public API call sd_login_monitor_get_events() to get poll() flags...
[elogind.git] / src / login / test-login.c
index 707cf2158902747d46f03f10b0bc4b6f9d4c0077..f639129636e68fddc47aeb310ab845b2f69a35e2 100644 (file)
@@ -71,6 +71,11 @@ int main(int argc, char* argv[]) {
         assert_se(r >= 0);
         printf("active = %s\n", yes_no(r));
 
+        r = sd_session_get_state(session, &state);
+        assert_se(r >= 0);
+        printf("state = %s\n", state);
+        free(state);
+
         assert_se(sd_session_get_uid(session, &u) >= 0);
         printf("uid = %lu\n", (unsigned long) u);
         assert_se(u == u2);
@@ -94,6 +99,14 @@ int main(int argc, char* argv[]) {
         assert_se(r >= 0);
         printf("can do multi session = %s\n", yes_no(r));
 
+        r = sd_seat_can_tty(seat);
+        assert_se(r >= 0);
+        printf("can do tty = %s\n", yes_no(r));
+
+        r = sd_seat_can_graphical(seat);
+        assert_se(r >= 0);
+        printf("can do graphical = %s\n", yes_no(r));
+
         assert_se(sd_uid_get_state(u, &state) >= 0);
         printf("state = %s\n", state);
 
@@ -172,7 +185,7 @@ int main(int argc, char* argv[]) {
 
         zero(pollfd);
         pollfd.fd = sd_login_monitor_get_fd(m);
-        pollfd.events = POLLIN;
+        pollfd.events = sd_login_monitor_get_events(m);
 
         for (n = 0; n < 5; n++) {
                 r = poll(&pollfd, 1, -1);