Approved by PS Jenkins bot, Robert Ancell.
./missing
./mkinstalldirs
./omf.make
+./test-driver
./xmldocs.make
data/apparmor/lightdm-guest-session
+data/lightdm-guest-session
doc/html
doc/lightdm-gobject-*.*
doc/*.stamp
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
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 \
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 \
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 \
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 \
--- /dev/null
+#
+# 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
--- /dev/null
+#
+# 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
{
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),
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner dbus test-gobject-greeter
--- /dev/null
+#!/bin/sh
+./src/dbus-env ./src/test-runner session-env test-gobject-greeter