summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorRobert Ancell <robert.ancell@canonical.com>2015-07-28 20:38:40 +1200
committerRobert Ancell <robert.ancell@canonical.com>2015-07-28 20:38:40 +1200
commitf4f681f7b4209a634b021ba731addec1e081e5c7 (patch)
tree86241140b6c905cb0aff776d4742b908e67b4c9a /tests
parent2db3a8b2e819ae50442688b2c75f77b6a14fbbdc (diff)
downloadlightdm-f4f681f7b4209a634b021ba731addec1e081e5c7.tar.gz
Support Wayland sessions / greeters
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile.am8
-rw-r--r--tests/data/greeters/test-mir-greeter.desktop4
-rw-r--r--tests/data/greeters/test-wayland-greeter.desktop5
-rw-r--r--tests/data/sessions/wayland.desktop5
-rw-r--r--tests/scripts/wayland-autologin.conf19
-rw-r--r--tests/scripts/wayland-greeter.conf17
-rw-r--r--tests/scripts/wayland-session.conf46
-rw-r--r--tests/src/test-gobject-greeter.c5
-rw-r--r--tests/src/test-session.c2
-rwxr-xr-xtests/test-wayland-autologin2
-rwxr-xr-xtests/test-wayland-greeter2
-rwxr-xr-xtests/test-wayland-session2
12 files changed, 114 insertions, 3 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am
index c5d93f4e..ad167999 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -198,6 +198,9 @@ TESTS = \
test-mir-session-crash \
test-mir-session-compositor-crash \
test-mir-container-session \
+ test-wayland-autologin \
+ test-wayland-greeter \
+ test-wayland-session \
test-unity-compositor-command \
test-unity-compositor-not-found \
test-unity-compositor-fail-start \
@@ -348,12 +351,14 @@ EXTRA_DIST = \
data/greeters/test-python-greeter.desktop \
data/greeters/test-qt4-greeter.desktop \
data/greeters/test-qt5-greeter.desktop \
+ data/greeters/test-wayland-greeter.desktop \
data/sessions/alternative.desktop \
data/sessions/default.desktop \
data/sessions/mir.desktop \
data/sessions/mir-container.desktop \
data/sessions/named.desktop \
data/sessions/named-legacy.desktop \
+ data/sessions/wayland.desktop \
scripts/0-additional.conf \
scripts/1-additional.conf \
scripts/additional-config.conf \
@@ -565,6 +570,9 @@ EXTRA_DIST = \
scripts/vnc-guest.conf \
scripts/vnc-login.conf \
scripts/vnc-open-file-descriptors.conf \
+ scripts/wayland-autologin.conf \
+ scripts/wayland-greeter.conf \
+ scripts/wayland-session.conf \
scripts/xauthority.conf \
scripts/xdg-current-desktop.conf \
scripts/xdg-current-desktop-legacy.conf \
diff --git a/tests/data/greeters/test-mir-greeter.desktop b/tests/data/greeters/test-mir-greeter.desktop
index d1ca7d52..29f84104 100644
--- a/tests/data/greeters/test-mir-greeter.desktop
+++ b/tests/data/greeters/test-mir-greeter.desktop
@@ -1,5 +1,5 @@
[Desktop Entry]
-Name=Test GObject Greeter
-Comment=LightDM test GObject greeter
+Name=Test Mir Greeter
+Comment=LightDM test Mir greeter
Exec=test-gobject-greeter
X-LightDM-Session-Type=mir
diff --git a/tests/data/greeters/test-wayland-greeter.desktop b/tests/data/greeters/test-wayland-greeter.desktop
new file mode 100644
index 00000000..a4b3bd28
--- /dev/null
+++ b/tests/data/greeters/test-wayland-greeter.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Name=Test Wayland Greeter
+Comment=LightDM test Wayland greeter
+Exec=test-gobject-greeter
+X-LightDM-Session-Type=wayland
diff --git a/tests/data/sessions/wayland.desktop b/tests/data/sessions/wayland.desktop
new file mode 100644
index 00000000..2eb55d16
--- /dev/null
+++ b/tests/data/sessions/wayland.desktop
@@ -0,0 +1,5 @@
+[Desktop Entry]
+Name=Test Session
+Comment=LightDM test Wayland session
+Exec=test-session
+X-LightDM-Session-Type=wayland
diff --git a/tests/scripts/wayland-autologin.conf b/tests/scripts/wayland-autologin.conf
new file mode 100644
index 00000000..c83dc79f
--- /dev/null
+++ b/tests/scripts/wayland-autologin.conf
@@ -0,0 +1,19 @@
+#
+# Check can automatically log into a Wayland session from a VT based seat
+#
+
+[Seat:*]
+autologin-user=have-password1
+user-session=wayland
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# Session starts
+#?SESSION-WAYLAND START XDG_SEAT=seat0 XDG_VTNR=7 XDG_GREETER_DATA_DIR=.*/have-password1 XDG_SESSION_TYPE=wayland XDG_SESSION_DESKTOP=wayland USER=have-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-WAYLAND TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/wayland-greeter.conf b/tests/scripts/wayland-greeter.conf
new file mode 100644
index 00000000..1a7bd488
--- /dev/null
+++ b/tests/scripts/wayland-greeter.conf
@@ -0,0 +1,17 @@
+#
+# Check can run a Wayland greeter from a VT based seat
+#
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# Greeter starts
+#?GREETER-WAYLAND START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?GREETER-WAYLAND CONNECT-TO-DAEMON
+#?GREETER-WAYLAND CONNECTED-TO-DAEMON
+
+# Cleanup
+#?*STOP-DAEMON
+#?GREETER-WAYLAND TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/scripts/wayland-session.conf b/tests/scripts/wayland-session.conf
new file mode 100644
index 00000000..dfdb39f5
--- /dev/null
+++ b/tests/scripts/wayland-session.conf
@@ -0,0 +1,46 @@
+#
+# Check can login into a Wayland session on a VT based seat
+#
+
+[Seat:*]
+user-session=wayland
+
+#?*START-DAEMON
+#?RUNNER DAEMON-START
+
+# X server starts
+#?XSERVER-0 START VT=7 SEAT=seat0
+
+# Daemon connects when X server is ready
+#?*XSERVER-0 INDICATE-READY
+#?XSERVER-0 INDICATE-READY
+#?XSERVER-0 ACCEPT-CONNECT
+
+# Greeter starts
+#?GREETER-X-0 START XDG_SEAT=seat0 XDG_VTNR=7 XDG_SESSION_CLASS=greeter
+#?LOGIN1 ACTIVATE-SESSION SESSION=c0
+#?XSERVER-0 ACCEPT-CONNECT
+#?GREETER-X-0 CONNECT-XSERVER
+#?GREETER-X-0 CONNECT-TO-DAEMON
+#?GREETER-X-0 CONNECTED-TO-DAEMON
+
+# Attempt to log into account
+#?*GREETER-X-0 AUTHENTICATE USERNAME=no-password1
+#?GREETER-X-0 AUTHENTICATION-COMPLETE USERNAME=no-password1 AUTHENTICATED=TRUE
+#?*GREETER-X-0 START-SESSION
+
+# Greeter terminates
+#?GREETER-X-0 TERMINATE SIGNAL=15
+#?XSERVER-0 TERMINATE SIGNAL=15
+
+# Session starts
+#?SESSION-WAYLAND START XDG_SEAT=seat0 XDG_VTNR=8 XDG_GREETER_DATA_DIR=.*/no-password1 XDG_SESSION_TYPE=wayland XDG_SESSION_DESKTOP=wayland USER=no-password1
+#?LOGIN1 ACTIVATE-SESSION SESSION=c1
+
+# Switch to session
+#?VT ACTIVATE VT=8
+
+# Cleanup
+#?*STOP-DAEMON
+#?SESSION-WAYLAND TERMINATE SIGNAL=15
+#?RUNNER DAEMON-EXIT STATUS=0
diff --git a/tests/src/test-gobject-greeter.c b/tests/src/test-gobject-greeter.c
index 5277df00..f2f441cd 100644
--- a/tests/src/test-gobject-greeter.c
+++ b/tests/src/test-gobject-greeter.c
@@ -407,7 +407,7 @@ connect_finished (GObject *object, GAsyncResult *result, gpointer data)
int
main (int argc, char **argv)
{
- gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class, *mir_socket, *mir_vt, *mir_id, *path;
+ gchar *display, *xdg_seat, *xdg_vtnr, *xdg_session_cookie, *xdg_session_class, *xdg_session_type, *mir_socket, *mir_vt, *mir_id, *path;
GString *status_text;
#if !defined(GLIB_VERSION_2_36)
@@ -419,6 +419,7 @@ main (int argc, char **argv)
xdg_vtnr = getenv ("XDG_VTNR");
xdg_session_cookie = getenv ("XDG_SESSION_COOKIE");
xdg_session_class = getenv ("XDG_SESSION_CLASS");
+ xdg_session_type = getenv ("XDG_SESSION_TYPE");
mir_socket = getenv ("MIR_SOCKET");
mir_vt = getenv ("MIR_SERVER_VT");
mir_id = getenv ("MIR_SERVER_NAME");
@@ -433,6 +434,8 @@ main (int argc, char **argv)
greeter_id = g_strdup_printf ("GREETER-MIR-%s", mir_id);
else if (mir_socket || mir_vt)
greeter_id = g_strdup ("GREETER-MIR");
+ else if (g_strcmp0 (xdg_session_type, "wayland") == 0)
+ greeter_id = g_strdup ("GREETER-WAYLAND");
else
greeter_id = g_strdup ("GREETER-?");
diff --git a/tests/src/test-session.c b/tests/src/test-session.c
index 24cc2862..28679135 100644
--- a/tests/src/test-session.c
+++ b/tests/src/test-session.c
@@ -256,6 +256,8 @@ main (int argc, char **argv)
session_id = g_strdup_printf ("SESSION-MIR-%s", mir_id);
else if (mir_socket || mir_vt)
session_id = g_strdup ("SESSION-MIR");
+ else if (g_strcmp0 (xdg_session_type, "wayland") == 0)
+ session_id = g_strdup ("SESSION-WAYLAND");
else
session_id = g_strdup ("SESSION-UNKNOWN");
diff --git a/tests/test-wayland-autologin b/tests/test-wayland-autologin
new file mode 100755
index 00000000..42f7eb9a
--- /dev/null
+++ b/tests/test-wayland-autologin
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner wayland-autologin test-gobject-greeter
diff --git a/tests/test-wayland-greeter b/tests/test-wayland-greeter
new file mode 100755
index 00000000..f1d6d388
--- /dev/null
+++ b/tests/test-wayland-greeter
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner wayland-greeter test-wayland-greeter
diff --git a/tests/test-wayland-session b/tests/test-wayland-session
new file mode 100755
index 00000000..3ecaa416
--- /dev/null
+++ b/tests/test-wayland-session
@@ -0,0 +1,2 @@
+#!/bin/sh
+./src/dbus-env ./src/test-runner wayland-session test-gobject-greeter