]> git.eshelyaron.com Git - emacs.git/commitdiff
* test/lisp/net/dbus-tests.el: Add timeout tests.
authorHugh Daschbach <hdasch@fastmail.com>
Wed, 30 Sep 2020 09:23:24 +0000 (11:23 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 30 Sep 2020 09:23:24 +0000 (11:23 +0200)
(dbus-test04-call-method-timeout, dbus-test07-introspection-timeout):
New tests.

test/lisp/net/dbus-tests.el

index bb153f0af8abb0ce71ab1e815f8e5056966c69c8..e0c63b2af47389e2dc191de79cabe8811f122a7c 100644 (file)
@@ -632,6 +632,28 @@ This includes initialization and closing the bus."
     ;; Cleanup.
     (dbus-unregister-service :session dbus--test-service)))
 
+(ert-deftest dbus-test04-call-method-timeout ()
+  "Verify `dbus-call-method' request timeout."
+  :tags '(:expensive-test)
+  (skip-unless dbus--test-enabled-session-bus)
+  (dbus-ignore-errors (dbus-unregister-service :session dbus--test-service))
+  (dbus-register-service :session dbus--test-service)
+
+  (unwind-protect
+      (let ((start (current-time)))
+        ;; Test timeout override for method call.
+        (should-error
+         (dbus-call-method
+          :session dbus--test-service dbus--test-path
+          dbus-interface-introspectable "Introspect" :timeout 2500)
+         :type 'dbus-error)
+
+        (should
+         (< 2.4 (float-time (time-since start)) 2.7)))
+
+        (dbus-unregister-service :session dbus--test-service)))
+
+
 (defvar dbus--test-signal-received nil
   "Received signal value in `dbus--test-signal-handler'.")
 
@@ -1760,6 +1782,22 @@ The argument EXPECTED-ARGS is a list of expected arguments for the method."
 
     (dbus-unregister-service :session dbus--test-service)))
 
+(ert-deftest dbus-test07-introspection-timeout ()
+  "Verify introspection request timeouts."
+  :tags '(:expensive-test)
+  (skip-unless dbus--test-enabled-session-bus)
+  (dbus-ignore-errors (dbus-unregister-service :session dbus--test-service))
+  (dbus-register-service :session dbus--test-service)
+
+  (unwind-protect
+      (let ((start (current-time)))
+        (dbus-introspect-xml :session dbus--test-service dbus--test-path)
+        ;; Introspection internal timeout is one second.
+        (should
+         (< 1.0 (float-time (time-since start)))))
+
+        (dbus-unregister-service :session dbus--test-service)))
+
 (defun dbus-test-all (&optional interactive)
   "Run all tests for \\[dbus]."
   (interactive "p")