diff options
| author | David Bremner <david@tethera.net> | 2021-08-29 12:23:27 -0700 |
|---|---|---|
| committer | David Bremner <david@tethera.net> | 2021-09-11 10:10:16 -0300 |
| commit | 59d0d5a4891469f3c91dcea7448c086cc8434a7a (patch) | |
| tree | 2e991197611222937a130bfd4423cc3b16db2290 /test/test-lib.el | |
| parent | 7556bb7da27621895327b84d22abba2519c24ba7 (diff) | |
test/emacs: provide macro test-log-error
Because of the way emacs reports errors, a test form can crash and not
change the main buffer. To work around this, capture both signalled
errors and any other messages.
Diffstat (limited to 'test/test-lib.el')
| -rw-r--r-- | test/test-lib.el | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/test/test-lib.el b/test/test-lib.el index c840bc98..6831b46f 100644 --- a/test/test-lib.el +++ b/test/test-lib.el @@ -174,6 +174,18 @@ 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")))) + ;; For historical reasons, we hide deleted tags by default in the test ;; suite (setq notmuch-tag-deleted-formats |
