]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Check correct VT is activated in test cases
authorRobert Ancell <robert.ancell@canonical.com>
Wed, 24 Jul 2013 00:45:26 +0000 (12:45 +1200)
committerRobert Ancell <robert.ancell@canonical.com>
Wed, 24 Jul 2013 00:45:26 +0000 (12:45 +1200)
22 files changed:
tests/scripts/autologin-timeout-in-background.conf
tests/scripts/lock-seat-return-session.conf
tests/scripts/lock-seat.conf
tests/scripts/lock-session-no-password.conf
tests/scripts/lock-session-return-session.conf
tests/scripts/lock-session.conf
tests/scripts/switch-to-greeter-new-session-logout-new.conf
tests/scripts/switch-to-greeter-new-session-logout-old.conf
tests/scripts/switch-to-greeter-new-session.conf
tests/scripts/switch-to-greeter-return-session-logout.conf
tests/scripts/switch-to-greeter-return-session.conf
tests/scripts/switch-to-greeter.conf
tests/scripts/switch-to-guest.conf
tests/scripts/switch-to-user-logout.conf
tests/scripts/switch-to-user-no-password.conf
tests/scripts/switch-to-user.conf
tests/scripts/switch-to-users.conf
tests/scripts/xserver-no-share.conf
tests/src/Makefile.am
tests/src/libsystem.c
tests/src/status.c
tests/src/status.h

index 8ba1f6b35ba7b28cc91611eb010291d5d7d6cbb8..31dd59b323f266db29c8bf9f6a83e9f4be64fc33 100644 (file)
@@ -33,10 +33,15 @@ user-session=default
 # Autologin timer expires
 #?GREETER-X-0 AUTOLOGIN-TIMER-EXPIRED
 
-# Trigger autologin and switch to existing session
+# Trigger autologin
 #?*GREETER-X-0 AUTHENTICATE-AUTOLOGIN
 #?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
 #?*GREETER-X-0 START-SESSION
+
+# Switch to existing session
+#?VT ACTIVATE VT=8
+
+# Quit greeter
 #?GREETER-X-0 TERMINATE SIGNAL=15
 
 # Cleanup
index f22d928c4030838c3200479ef10c1010c5ff9997..fd024570ed8d79d6e0d834178e7fb383c6505664 100644 (file)
@@ -41,6 +41,8 @@ user-session=default
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 #?GREETER-X-1 LOCK-HINT
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
 
 # Login as existing user
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
@@ -49,6 +51,9 @@ user-session=default
 #?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
 #?*GREETER-X-1 START-SESSION
 
+# Return to session
+#?VT ACTIVATE VT=7
+
 # Greeter and X server stop
 #?GREETER-X-1 TERMINATE SIGNAL=15
 #?XSERVER-1 TERMINATE SIGNAL=15
index 59ea262b3452052a8a6117650103f05b79486986..61b91bbb5d45157e5610aa30aa228e42be33d755 100644 (file)
@@ -41,6 +41,9 @@ user-session=default
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 #?GREETER-X-1 LOCK-HINT
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Cleanup
 #?*STOP-DAEMON
 #?SESSION-X-0 TERMINATE SIGNAL=15
index 1976cb4f7d11dd0b0d8f9707de8626bd11050c3e..b7c26d7647c9ad85f544f2d30314e0aae640dc93 100644 (file)
@@ -42,6 +42,9 @@ user-session=default
 #?GREETER-X-1 SELECT-USER-HINT USERNAME=no-password1    
 #?GREETER-X-1 LOCK-HINT
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Cleanup
 #?*STOP-DAEMON
 #?SESSION-X-0 TERMINATE SIGNAL=15
index b4550329e6e09f53f1120f4642696db9f292a86d..ed33cb304586443bfd825cf5c284e6ae7c3194b2 100644 (file)
@@ -42,6 +42,9 @@ user-session=default
 #?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1    
 #?GREETER-X-1 LOCK-HINT
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login as existing user
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
@@ -49,6 +52,9 @@ user-session=default
 #?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
 #?*GREETER-X-1 START-SESSION
 
+# Return to session
+#?VT ACTIVATE VT=7
+
 # Greeter and X server stop
 #?GREETER-X-1 TERMINATE SIGNAL=15
 #?XSERVER-1 TERMINATE SIGNAL=15
index 47557362b63b60505c16159eeed0d8e976d8158b..5b7855c72afd296cdceae33e3503d72993abe2b0 100644 (file)
@@ -42,6 +42,9 @@ user-session=default
 #?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1    
 #?GREETER-X-1 LOCK-HINT
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Cleanup
 #?*STOP-DAEMON
 #?SESSION-X-0 TERMINATE SIGNAL=15
index a831abc5fc17312a0a7f06370dc456bfb7fcaae2..423e06fb33c7fb051fc792b3fe84d40a3cab5f3d 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
index ae515fd88a1e5cb30555d9d8d921cd70ca85e816..e2864290d63a5497f6986b6d8d280fb16a9ebdb7 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
@@ -74,6 +77,9 @@ user-session=default
 #?GREETER-X-0 CONNECT-TO-DAEMON
 #?GREETER-X-0 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=7
+
 # Cleanup
 #?*STOP-DAEMON
 #?GREETER-X-0 TERMINATE SIGNAL=15
index 5640565c114eb95b7cc1edc812afa2ea7e84fd98..2bf873ec8fd304986f6d00668004d7a2bcf0d70b 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password2
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
index f8b4c54d0827bdb8f61aaa2b9ab8231e35d4f5b0..568429346b429af96654fd7062a06c49a237e066 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login as existing user
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
@@ -47,6 +50,9 @@ user-session=default
 #?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
 #?*GREETER-X-1 START-SESSION
 
+# Switch to session
+#?VT ACTIVATE VT=7
+
 # Greeter and X server stop
 #?GREETER-X-1 TERMINATE SIGNAL=15
 #?XSERVER-1 TERMINATE SIGNAL=15
index 21af22f9d4239eca387cbe233e3eb0c0dd58f62e..4688b5370beae81504dc0060402a7915211e30fe 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Login as existing user
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
 #?GREETER-X-1 SHOW-PROMPT TEXT="Password:"
@@ -47,6 +50,9 @@ user-session=default
 #?GREETER-X-1 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
 #?*GREETER-X-1 START-SESSION
 
+# Switch to session
+#?VT ACTIVATE VT=7
+
 # Greeter and X server stop
 #?GREETER-X-1 TERMINATE SIGNAL=15
 #?XSERVER-1 TERMINATE SIGNAL=15
index 9cd4dd775d97d2bf74571056c4dfbde3b3d207b6..a3a40a817def1fcaedb6d0d3925b15e064bfe091 100644 (file)
@@ -40,6 +40,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Cleanup
 #?*STOP-DAEMON
 #?SESSION-X-0 TERMINATE SIGNAL=15
index b8af1db0348acff7093430813e8a328a3a4980f3..53dfb48ee302ad8313d8fe9201b7c3aaff06a767 100644 (file)
@@ -37,6 +37,9 @@ user-session=default
 #?XSERVER-1 INDICATE-READY
 #?XSERVER-1 ACCEPT-CONNECT
 
+# Switch to session
+#?VT ACTIVATE VT=8
+
 # Guest account created
 #?GUEST-ACCOUNT ADD USERNAME=guest-.*
 
index 0025017d9830217f38eb1342a3a98d87df41ec7e..0e361e8d3fdbecf5db0b89179d3eb492d3a887a1 100644 (file)
@@ -34,6 +34,9 @@ user-session=default
 #?XSERVER-1 INDICATE-READY
 #?XSERVER-1 ACCEPT-CONNECT
 
+# Switch to session
+#?VT ACTIVATE VT=8
+
 # New session starts
 #?SESSION-X-1 START USER=no-password1
 #?XSERVER-1 ACCEPT-CONNECT
index e80b95c4e62029d366fe90f35546d580b4244c67..f7f78e0f8e827186e9b85f0da2f0facda4826ad9 100644 (file)
@@ -34,6 +34,9 @@ user-session=default
 #?XSERVER-1 INDICATE-READY
 #?XSERVER-1 ACCEPT-CONNECT
 
+# Switch to session
+#?VT ACTIVATE VT=8
+
 # New session starts
 #?SESSION-X-1 START USER=no-password1
 #?XSERVER-1 ACCEPT-CONNECT
index a83c78cd65b646174e73a783eca8612d54c1ebb4..1065d0fd37da0c98a73a87939c721b0f5922797d 100644 (file)
@@ -41,6 +41,9 @@ user-session=default
 #?GREETER-X-1 CONNECT-TO-DAEMON
 #?GREETER-X-1 CONNECTED-TO-DAEMON
 
+# Switch to greeter
+#?VT ACTIVATE VT=8
+
 # Requested user is automatically selected
 #?GREETER-X-1 SELECT-USER-HINT USERNAME=have-password1
 #?*GREETER-X-1 AUTHENTICATE USERNAME=have-password1
index c17933bec790bc169e210d6f41b24f3c7156ff15..3e98725770fdf515d056d35c95b90452e3f07cc7 100644 (file)
@@ -34,6 +34,9 @@ user-session=default
 #?XSERVER-1 INDICATE-READY
 #?XSERVER-1 ACCEPT-CONNECT
 
+# Switch to session
+#?VT ACTIVATE VT=8
+
 # New session starts
 #?SESSION-X-1 START USER=no-password1
 #?XSERVER-1 ACCEPT-CONNECT
@@ -51,6 +54,9 @@ user-session=default
 #?XSERVER-2 INDICATE-READY
 #?XSERVER-2 ACCEPT-CONNECT
 
+# Switch to session
+#?VT ACTIVATE VT=9
+
 # New session starts
 #?SESSION-X-2 START USER=no-password2
 #?XSERVER-2 ACCEPT-CONNECT
index 214be0e8fe751ec5d7241e25bdbacb7447da7c4e..c32d0aa3d5f7e925f8444f2c2179f9012c283471 100644 (file)
@@ -43,6 +43,9 @@ xserver-share=false
 #?XSERVER-1 ACCEPT-CONNECT
 #?SESSION-X-1 CONNECT-XSERVER
 
+# Switch to session
+#?VT ACTIVATE VT=8
+
 # Greeter stops
 #?GREETER-X-0 TERMINATE SIGNAL=15
 #?XSERVER-0 TERMINATE SIGNAL=15
index aa552d6ea39975c682db6891c9821d44f1ab46e3..9c1b4911c67166341f1581aef8759789a32b48f3 100644 (file)
@@ -15,7 +15,7 @@ dist_noinst_SCRIPTS = lightdm-session \
                       test-python-greeter
 noinst_LTLIBRARIES = libsystem.la
 
-libsystem_la_SOURCES = libsystem.c
+libsystem_la_SOURCES = libsystem.c status.c status.h
 libsystem_la_CFLAGS = \
        $(GLIB_CFLAGS) \
        $(GIO_UNIX_CFLAGS) \
index 15ff656d1bec73941d95a923618e5aaeb86717ef..b5f17de7319a4998ff68f91d7253af6e76a9ca55 100644 (file)
@@ -29,6 +29,8 @@ static GList *group_entries = NULL;
 
 static int active_vt = 7;
 
+static gboolean status_connected = FALSE;
+
 struct pam_handle
 {
     char *service_name;
@@ -419,6 +421,7 @@ ioctl (int d, int request, void *data)
     {
         struct vt_stat *console_state;
         int *n;
+        int vt;
 
         switch (request)
         {
@@ -427,7 +430,14 @@ ioctl (int d, int request, void *data)
             console_state->v_active = active_vt;
             break;
         case VT_ACTIVATE:
-            active_vt = GPOINTER_TO_INT (data);
+            vt = GPOINTER_TO_INT (data);
+            if (vt != active_vt)
+            {
+                active_vt = vt;
+                if (!status_connected)
+                    status_connected = status_connect (NULL);
+                status_notify ("VT ACTIVATE VT=%d", active_vt);
+            }
             break;
         case VT_WAITACTIVE:
             break;
index 67cd7cac20dfffc27f0422b075b23084e8f455fc..71f654b140344c20c61c454765ac8e54f572014d 100644 (file)
@@ -41,7 +41,7 @@ status_request_cb (GSocket *socket, GIOCondition condition, gpointer data)
     return TRUE;
 }
 
-void
+gboolean
 status_connect (StatusRequestFunc request_cb)
 {
     gchar *path;
@@ -57,7 +57,7 @@ status_connect (StatusRequestFunc request_cb)
         g_printerr ("Unable to open socket for status: %s\n", error->message);
     g_clear_error (&error);
     if (!status_socket)
-        return;
+        return FALSE;
 
     path = g_build_filename (g_getenv ("LIGHTDM_TEST_ROOT"), ".s", NULL);
     address = g_unix_socket_address_new (path);
@@ -68,11 +68,13 @@ status_connect (StatusRequestFunc request_cb)
     g_clear_error (&error);
     g_free (path);
     if (!result)
-        return;
+        return FALSE;
 
     source = g_socket_create_source (status_socket, G_IO_IN, NULL);
     g_source_set_callback (source, (GSourceFunc) status_request_cb, NULL, NULL);
-    g_source_attach (source, NULL);   
+    g_source_attach (source, NULL);
+
+    return TRUE;
 }
 
 void
index e6789703063d2a9e9d296602064111d7943febf8..c9abe43bd37c3c206a0ab9070e824fa30ebfd186 100644 (file)
@@ -9,7 +9,7 @@ extern "C" {
 
 typedef void (*StatusRequestFunc)(const gchar *message);
 
-void status_connect (StatusRequestFunc message_cb);
+gboolean status_connect (StatusRequestFunc message_cb);
 
 void status_notify (const gchar *format, ...);