]> rtime.felk.cvut.cz Git - sojka/lightdm.git/blobdiff - tests/src/test-python-greeter
Return errors from all liblightdm methods
[sojka/lightdm.git] / tests / src / test-python-greeter
index cf3d45c7eaeff372efae87c35f88a639f2c994a8..6c8fa79b40a775a5bada780c4b0aeb2e0827f357 100755 (executable)
@@ -12,6 +12,7 @@ from gi.repository import LightDM
 display = os.getenv ('DISPLAY');
 xdg_seat = os.getenv ('XDG_SEAT');
 xdg_vtnr = os.getenv ('XDG_VTNR');
+xdg_session_cookie = os.getenv ('XDG_SESSION_COOKIE');
 xdg_session_class = os.getenv ('XDG_SESSION_CLASS');
 if display is not None:
     if display.startswith (':'):
@@ -75,13 +76,17 @@ def request_cb (channel, condition):
 
     r = '%s START-SESSION' % greeter_id
     if request == r:
-        if not greeter.start_session_sync (None):
-            status_notify ('%s SESSION-FAILED' % greeter_id)
+        try:
+            greeter.start_session_sync (None)
+        except GLib.Error as e:
+            status_notify ('%s SESSION-FAILED ERROR=%s' % (greeter_id, e.message))
 
     r = '%s START-SESSION SESSION=' % greeter_id
     if request.startswith (r):
-        if not greeter.start_session_sync (request[len(r):]):
-            status_notify ('%s SESSION-FAILED' % greeter_id)
+        try:
+            greeter.start_session_sync (request[len(r):])
+        except GLib.Error as e:
+            status_notify ('%s SESSION-FAILED ERROR=%s' % (greeter_id, e.message))
 
     r = '%s LOG-USER-LIST-LENGTH' % greeter_id
     if request == r:
@@ -221,6 +226,8 @@ if xdg_seat is not None:
     status_text += ' XDG_SEAT=%s' % xdg_seat
 if xdg_vtnr is not None:
     status_text += ' XDG_VTNR=%s' % xdg_vtnr
+if xdg_session_cookie is not None:
+    status_text += ' XDG_SESSION_COOKIE=%s' % xdg_session_cookie
 if xdg_session_class is not None:
     status_text += ' XDG_SESSION_CLASS=%s' % xdg_session_class
 status_notify (status_text)
@@ -288,7 +295,9 @@ if log_user_changes:
     LightDM.UserList.get_instance ().connect ('user-removed', user_removed_cb)
 
 status_notify ('%s CONNECT-TO-DAEMON' % greeter_id)
-if not greeter.connect_to_daemon_sync ():
+try:
+    greeter.connect_to_daemon_sync ()
+except:
     status_notify ('%s FAIL-CONNECT-DAEMON' % greeter_id)
     exit (1)