diff options
author | Robert Ancell <robert.ancell@canonical.com> | 2015-07-28 20:38:40 +1200 |
---|---|---|
committer | Robert Ancell <robert.ancell@canonical.com> | 2015-07-28 20:38:40 +1200 |
commit | f4f681f7b4209a634b021ba731addec1e081e5c7 (patch) | |
tree | 86241140b6c905cb0aff776d4742b908e67b4c9a /tests | |
parent | 2db3a8b2e819ae50442688b2c75f77b6a14fbbdc (diff) | |
download | lightdm-f4f681f7b4209a634b021ba731addec1e081e5c7.tar.gz |
Support Wayland sessions / greeters
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 8 | ||||
-rw-r--r-- | tests/data/greeters/test-mir-greeter.desktop | 4 | ||||
-rw-r--r-- | tests/data/greeters/test-wayland-greeter.desktop | 5 | ||||
-rw-r--r-- | tests/data/sessions/wayland.desktop | 5 | ||||
-rw-r--r-- | tests/scripts/wayland-autologin.conf | 19 | ||||
-rw-r--r-- | tests/scripts/wayland-greeter.conf | 17 | ||||
-rw-r--r-- | tests/scripts/wayland-session.conf | 46 | ||||
-rw-r--r-- | tests/src/test-gobject-greeter.c | 5 | ||||
-rw-r--r-- | tests/src/test-session.c | 2 | ||||
-rwxr-xr-x | tests/test-wayland-autologin | 2 | ||||
-rwxr-xr-x | tests/test-wayland-greeter | 2 | ||||
-rwxr-xr-x | tests/test-wayland-session | 2 |
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 |