mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-12-24 18:34:52 +01:00
test: make test_emacs call post-command-hook
The unread/read changes will use the post-command-hook. test_emacs does not call the post-command-hook. This adds a notmuch-test-progn which takes a list of commands as argument and executes them in turn but runs the post-command-hook after each one. The caller can batch operations (ie to stop post-command-hook from being interleaved) by wrapping the batch of operations inside a progn. We also explicitly run the post-command-hook before getting the output from a test; this makes sense as this will be a place the user would be seeing the information.
This commit is contained in:
parent
bc180bd388
commit
eed6c75556
2 changed files with 12 additions and 1 deletions
|
@ -52,11 +52,13 @@
|
|||
|
||||
(defun test-output (&optional filename)
|
||||
"Save current buffer to file FILENAME. Default FILENAME is OUTPUT."
|
||||
(notmuch-post-command)
|
||||
(write-region (point-min) (point-max) (or filename "OUTPUT")))
|
||||
|
||||
(defun test-visible-output (&optional filename)
|
||||
"Save visible text in current buffer to file FILENAME. Default
|
||||
FILENAME is OUTPUT."
|
||||
(notmuch-post-command)
|
||||
(let ((text (visible-buffer-string)))
|
||||
(with-temp-file (or filename "OUTPUT") (insert text))))
|
||||
|
||||
|
@ -166,6 +168,15 @@ nothing."
|
|||
(t
|
||||
(notmuch-test-report-unexpected output expected)))))
|
||||
|
||||
(defun notmuch-post-command ()
|
||||
(run-hooks 'post-command-hook))
|
||||
|
||||
(defmacro notmuch-test-progn (&rest body)
|
||||
(cons 'progn
|
||||
(mapcar
|
||||
(lambda (x) `(prog1 ,x (notmuch-post-command)))
|
||||
body)))
|
||||
|
||||
;; For historical reasons, we hide deleted tags by default in the test
|
||||
;; suite
|
||||
(setq notmuch-tag-deleted-formats
|
||||
|
|
|
@ -1138,7 +1138,7 @@ test_emacs () {
|
|||
rm -f OUTPUT
|
||||
touch OUTPUT
|
||||
|
||||
${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(progn $@)"
|
||||
${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(notmuch-test-progn $@)"
|
||||
}
|
||||
|
||||
test_python() {
|
||||
|
|
Loading…
Reference in a new issue