]> git.cworth.org Git - notmuch/blobdiff - test/test-lib.el
test: add `notmuch-hello-mode-hook-counter'
[notmuch] / test / test-lib.el
index 4e7f5cfc30a7538011124717884b026a19fc2f06..3bca1382bc386a618a867c789bafea25d3e8f18c 100644 (file)
 ;;
 ;; Authors: Dmitry Kurochkin <dmitry.kurochkin@gmail.com>
 
-;; avoid crazy 10-column default of --batch
-(set-frame-width (window-frame (get-buffer-window)) 80)
+;; `read-file-name' by default uses `completing-read' function to read
+;; user input.  It does not respect `standard-input' variable which we
+;; use in tests to provide user input.  So replace it with a plain
+;; `read' call.
+(setq read-file-name-function (lambda (&rest _) (read)))
 
 (defun notmuch-test-wait ()
   "Wait for process completion."
@@ -51,3 +54,19 @@ FILENAME is OUTPUT."
          (setq str (concat str (buffer-substring start next-pos))))
        (setq start next-pos)))
     str))
+
+(defun orphan-watchdog (pid)
+  "Periodically check that the process with id PID is still
+running, quit if it terminated."
+  (if (not (process-attributes pid))
+      (kill-emacs)
+    (run-at-time "1 min" nil 'orphan-watchdog pid)))
+
+(defun notmuch-hello-mode-hook-counter ()
+  "Count how many times `notmuch-hello-mode-hook' is called.
+Increments `notmuch-hello-mode-hook-counter' variable value if it
+is bound, otherwise does nothing."
+  (if (boundp 'notmuch-hello-mode-hook-counter)
+      (setq notmuch-hello-mode-hook-counter
+           (1+ notmuch-hello-mode-hook-counter))))
+(add-hook 'notmuch-hello-mode-hook 'notmuch-hello-mode-hook-counter)