]> 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 d352d21217282c4eeb394cd969ec0f2494538f1f..6c8fa79b40a775a5bada780c4b0aeb2e0827f357 100755 (executable)
@@ -76,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:
@@ -200,6 +204,17 @@ def notify_hints (greeter):
         status_notify ('%s SHOW-MANUAL-LOGIN-HINT' % greeter_id)
     if not greeter.get_show_remote_login_hint ():
         status_notify ('%s SHOW-REMOTE-LOGIN-HINT=FALSE' % greeter_id)
+    timeout = greeter.get_autologin_timeout_hint ()
+    if greeter.get_autologin_user_hint () is not None:
+        if timeout != 0:
+            status_notify ('%s AUTOLOGIN-USER USERNAME=%s TIMEOUT=%d' % (greeter_id, greeter.get_autologin_user_hint (), timeout))
+        else:
+            status_notify ('%s AUTOLOGIN-USER USERNAME=%s' % (greeter_id, greeter.get_autologin_user_hint ()))
+    elif greeter.get_autologin_guest_hint ():
+        if timeout != 0:
+            status_notify ('%s AUTOLOGIN-GUEST TIMEOUT=%d' % (greeter_id, timeout))
+        else:
+            status_notify ('%s AUTOLOGIN-GUEST' % greeter_id)
 
 path = os.getenv ('LIGHTDM_TEST_ROOT') + '/.s'
 status_socket = socket.socket (socket.AF_UNIX, socket.SOCK_STREAM)
@@ -249,13 +264,22 @@ def authentication_complete_cb (greeter):
         status_notify ('%s AUTHENTICATION-COMPLETE AUTHENTICATED=%s' % (greeter_id, is_authenticated))
 
 def autologin_timer_expired_cb (greeter):
-    status_notify ('%s AUTOLOGIN-TIMER-EXPIRED' % greeter_id)
+    pass
 
 greeter = LightDM.Greeter ()
 greeter.connect ('show-message', show_message_cb)
 greeter.connect ('show-prompt', show_prompt_cb)
 greeter.connect ('authentication-complete', authentication_complete_cb)
 greeter.connect ('autologin-timer-expired', autologin_timer_expired_cb)
+resettable = False
+try:
+    resettable = config.get_boolean ('test-greeter-config', 'resettable')
+except:
+    pass
+if resettable:
+    LightDM.Greeter.get_instance ().set_resettable (True)
+    LightDM.Greeter.get_instance ().connect ('idle', idle_cb)
+    LightDM.Greeter.get_instance ().connect ('reset', reset_cb)
 
 def user_added_cb (user_list, user):
     status_notify ('%s USER-ADDED USERNAME=%s' % (greeter_id, user.get_name ()))
@@ -271,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_sync ():
+try:
+    greeter.connect_to_daemon_sync ()
+except:
     status_notify ('%s FAIL-CONNECT-DAEMON' % greeter_id)
     exit (1)
 
@@ -282,15 +308,6 @@ def idle_cb (greeter):
 def reset_cb (greeter):
     status_notify ('%s RESET' % (greeter_id))
     notify_hints (greeter)
-resettable = False
-try:
-    resettable = config.get_boolean ('test-greeter-config', 'resettable')
-except:
-    pass
-if resettable:
-    LightDM.Greeter.get_instance ().set_resettable (True)
-    LightDM.Greeter.get_instance ().connect ('idle', idle_cb)
-    LightDM.Greeter.get_instance ().connect ('reset', reset_cb)
 
 notify_hints (greeter)