X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=test%2Ftest-lib.el;h=4cfb8ef163aac196558c81adae112091661036ff;hb=HEAD;hp=c840bc98b0597e781a08dcfa45fe0f428385cdba;hpb=dc8262bd336f1c406e5705ec8cb5029f1bacd524;p=notmuch diff --git a/test/test-lib.el b/test/test-lib.el index c840bc98..4cfb8ef1 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -22,6 +22,15 @@ ;;; Code: +;; minimize impact of native compilation on the test suite. +;; These are the Emacs 29.1 version of the variables. +;; Leave trampolines enabled per Emacs upstream recommendations. +;; It is important to set these variables before loading any +;; .elc files. +(setq native-comp-jit-compilation nil) +(setq native-comp-speed -1) +(setq native-comp-async-jobs-number 1) + (require 'cl-lib) ;; Ensure that the dynamic variables that are defined by this library @@ -174,6 +183,23 @@ running, quit if it terminated." " ")) tags-to-letters "")))) +;; Log any signalled error (and other messages) to MESSAGES +;; Log "COMPLETE" if forms complete without error. +(defmacro test-log-error (&rest body) + `(progn + (with-current-buffer "*Messages*" + (let ((inhibit-read-only t)) (erase-buffer))) + (condition-case err + (progn ,@body + (message "COMPLETE")) + (t (message "%s" err))) + (with-current-buffer "*Messages*" (test-output "MESSAGES")))) + +(defmacro test-time (&rest body) + `(let ((results (mapcar (lambda (x) (/ x 5.0)) (benchmark-run 5 ,@body)))) + (message "\t\t%0.2f\t%0.2f\t%0.2f" (nth 0 results) (nth 1 results) (nth 2 results)) + (with-current-buffer "*Messages*" (test-output "MESSAGES")))) + ;; For historical reasons, we hide deleted tags by default in the test ;; suite (setq notmuch-tag-deleted-formats @@ -188,3 +214,8 @@ running, quit if it terminated." ;; environments (setq mm-text-html-renderer 'html2text) + +;; Set our own default for message-hidden-headers, to avoid tests +;; breaking when the Emacs default changes. +(setq message-hidden-headers + '("^References:" "^Face:" "^X-Face:" "^X-Draft-From:"))