]> rtime.felk.cvut.cz Git - sojka/lightdm.git/commitdiff
Add in handling of "plymouth quit" when using the compositor to send the plymouth...
authorChris Townsend <christopher.townsend@canonical.com>
Fri, 19 Jul 2013 23:54:09 +0000 (23:54 +0000)
committerTarmac <Unknown>
Fri, 19 Jul 2013 23:54:09 +0000 (23:54 +0000)
Approved by PS Jenkins bot, Robert Ancell.

.bzrignore
tests/Makefile.am
tests/scripts/dbus.conf [new file with mode: 0644]
tests/scripts/session-env.conf [new file with mode: 0644]
tests/src/test-runner.c
tests/test-dbus [new file with mode: 0755]
tests/test-session-env [new file with mode: 0755]

index 124458a2dca6d5ccdd1ad4a5fb3769369cd7d49a..359e48d503844d0d5665711fe19f9807cb321c6d 100644 (file)
@@ -27,8 +27,10 @@ Makefile.in.in
 ./missing
 ./mkinstalldirs
 ./omf.make
+./test-driver
 ./xmldocs.make
 data/apparmor/lightdm-guest-session
+data/lightdm-guest-session
 doc/html
 doc/lightdm-gobject-*.*
 doc/*.stamp
@@ -66,6 +68,7 @@ tests/src/guest-account
 tests/src/initctl
 tests/src/plymouth
 tests/src/test-gobject-greeter
+tests/src/test-greeter-wrapper
 tests/src/test-qt4-greeter
 tests/src/test-qt5-greeter
 tests/src/test-runner
index 232a24b073744b7580bfaf723a4a7f4439c0fec5..59bec1126bc8b90858dcf2dc06c8136089b1efcb 100644 (file)
@@ -42,6 +42,7 @@ TESTS = \
        test-autologin-guest-fail-setup-script \
        test-autologin-guest-logout \
        test-group-membership \
+       test-session-env \    
        test-util-path \
        test-session-stdout \
        test-session-stderr \
@@ -118,6 +119,7 @@ TESTS = \
        test-script-hook-fail-display-setup \
        test-script-hook-fail-greeter-setup \
        test-script-hook-fail-session-setup \
+       test-dbus \
        test-lock-seat \
        test-lock-seat-return-session \
        test-lock-session \
@@ -279,6 +281,7 @@ EXTRA_DIST = \
        scripts/cred-error.conf \
        scripts/cred-expired.conf \
        scripts/cred-unavail.conf \
+       scripts/dbus.conf \    
        scripts/denied.conf \
        scripts/expired.conf \
        scripts/greeter-fail-start.conf \
@@ -347,6 +350,7 @@ EXTRA_DIST = \
        scripts/script-hook-fail-display-setup.conf \
        scripts/script-hook-fail-greeter-setup.conf \
        scripts/script-hook-fail-session-setup.conf \
+       scripts/session-env.conf \
        scripts/session-stdout.conf \
        scripts/session-stderr.conf \
        scripts/session-stderr-multi-write.conf \
diff --git a/tests/scripts/dbus.conf b/tests/scripts/dbus.conf
new file mode 100644 (file)
index 0000000..7451d12
--- /dev/null
@@ -0,0 +1,51 @@
+#
+# Check can login
+#
+
+[SeatDefaults]
+user-session=default
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+#?XSERVER-0 INDICATE-READY
+
+# LightDM connects to X server
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+#?*LIST-SEATS
+#?RUNNER LIST-SEATS SEATS=/org/freedesktop/DisplayManager/Seat0
+#?*LIST-SESSIONS
+#?RUNNER LIST-SESSIONS SESSIONS=
+
+# Log into account with a password
+#?*GREETER-X-0 AUTHENTICATE USERNAME=have-password1
+#?GREETER-X-0 SHOW-PROMPT TEXT="Password:"
+#?*GREETER-X-0 RESPOND TEXT="password"
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=have-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+#?GREETER-X-0 TERMINATE SIGNAL=15
+
+# Session starts
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+#?*LIST-SEATS
+#?RUNNER LIST-SEATS SEATS=/org/freedesktop/DisplayManager/Seat0
+#?*LIST-SESSIONS
+#?RUNNER LIST-SESSIONS SESSIONS=/org/freedesktop/DisplayManager/Session0
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/session-env.conf b/tests/scripts/session-env.conf
new file mode 100644 (file)
index 0000000..8a96b80
--- /dev/null
@@ -0,0 +1,33 @@
+#
+# Check logind variables are set in session
+#
+
+[SeatDefaults]
+autologin-user=have-password1
+user-session=default
+
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7
+#?XSERVER-0 INDICATE-READY
+
+# LightDM connects to X server
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Session starts
+#?SESSION-X-0 START USER=have-password1
+#?XSERVER-0 ACCEPT-CONNECT
+#?SESSION-X-0 CONNECT-XSERVER
+
+# Check environment variables
+#?*SESSION-X-0 READ-ENV NAME=DESKTOP_SESSION
+#?SESSION-X-0 READ-ENV NAME=DESKTOP_SESSION VALUE=default
+#?*SESSION-X-0 READ-ENV NAME=GDMSESSION
+#?SESSION-X-0 READ-ENV NAME=GDMSESSION VALUE=default
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
index e4057c5e778fe9d7931c642718b3aa4b2d90d693..a27fb04b28862b17eea3d2117e53410e61bf28d2 100644 (file)
@@ -395,6 +395,78 @@ handle_command (const gchar *command)
     {
         sleep (1);
     }
+    else if (strcmp (name, "LIST-SEATS") == 0)
+    {
+        GVariant *result, *value;
+        GString *status;
+        GVariantIter *iter;
+        const gchar *path;
+        int i = 0;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager",
+                                              "org.freedesktop.DBus.Properties",
+                                              "Get",
+                                              g_variant_new ("(ss)", "org.freedesktop.DisplayManager", "Seats"),
+                                              G_VARIANT_TYPE ("(v)"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              1000,
+                                              NULL,
+                                              NULL);
+
+        status = g_string_new ("RUNNER LIST-SEATS SEATS=");
+        g_variant_get (result, "(v)", &value);
+        g_variant_get (value, "ao", &iter);
+        while (g_variant_iter_loop (iter, "&o", &path))
+        {
+            if (i != 0)
+                g_string_append (status, ",");
+            g_string_append (status, path);
+            i++;
+        }
+        g_variant_unref (value);
+        g_variant_unref (result);
+
+        check_status (status->str);
+        g_string_free (status, TRUE);
+    }
+    else if (strcmp (name, "LIST-SESSIONS") == 0)
+    {
+        GVariant *result, *value;
+        GString *status;
+        GVariantIter *iter;
+        const gchar *path;
+        int i = 0;
+
+        result = g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
+                                              "org.freedesktop.DisplayManager",
+                                              "/org/freedesktop/DisplayManager",
+                                              "org.freedesktop.DBus.Properties",
+                                              "Get",
+                                              g_variant_new ("(ss)", "org.freedesktop.DisplayManager", "Sessions"),
+                                              G_VARIANT_TYPE ("(v)"),
+                                              G_DBUS_CALL_FLAGS_NONE,
+                                              1000,
+                                              NULL,
+                                              NULL);
+
+        status = g_string_new ("RUNNER LIST-SESSIONS SESSIONS=");
+        g_variant_get (result, "(v)", &value);
+        g_variant_get (value, "ao", &iter);
+        while (g_variant_iter_loop (iter, "&o", &path))
+        {
+            if (i != 0)
+                g_string_append (status, ",");
+            g_string_append (status, path);
+            i++;
+        }
+        g_variant_unref (value);
+        g_variant_unref (result);
+
+        check_status (status->str);
+        g_string_free (status, TRUE);
+    }
     else if (strcmp (name, "SWITCH-TO-GREETER") == 0)
     {
         g_dbus_connection_call_sync (g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL),
diff --git a/tests/test-dbus b/tests/test-dbus
new file mode 100755 (executable)
index 0000000..c499205
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner dbus test-gobject-greeter
diff --git a/tests/test-session-env b/tests/test-session-env
new file mode 100755 (executable)
index 0000000..5be5e91
--- /dev/null
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner session-env test-gobject-greeter