mirror of
https://git.notmuchmail.org/git/notmuch
synced 2024-11-24 11:58:10 +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)
|
(defun test-output (&optional filename)
|
||||||
"Save current buffer to file FILENAME. Default FILENAME is OUTPUT."
|
"Save current buffer to file FILENAME. Default FILENAME is OUTPUT."
|
||||||
|
(notmuch-post-command)
|
||||||
(write-region (point-min) (point-max) (or filename "OUTPUT")))
|
(write-region (point-min) (point-max) (or filename "OUTPUT")))
|
||||||
|
|
||||||
(defun test-visible-output (&optional filename)
|
(defun test-visible-output (&optional filename)
|
||||||
"Save visible text in current buffer to file FILENAME. Default
|
"Save visible text in current buffer to file FILENAME. Default
|
||||||
FILENAME is OUTPUT."
|
FILENAME is OUTPUT."
|
||||||
|
(notmuch-post-command)
|
||||||
(let ((text (visible-buffer-string)))
|
(let ((text (visible-buffer-string)))
|
||||||
(with-temp-file (or filename "OUTPUT") (insert text))))
|
(with-temp-file (or filename "OUTPUT") (insert text))))
|
||||||
|
|
||||||
|
@ -166,6 +168,15 @@ nothing."
|
||||||
(t
|
(t
|
||||||
(notmuch-test-report-unexpected output expected)))))
|
(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
|
;; For historical reasons, we hide deleted tags by default in the test
|
||||||
;; suite
|
;; suite
|
||||||
(setq notmuch-tag-deleted-formats
|
(setq notmuch-tag-deleted-formats
|
||||||
|
|
|
@ -1138,7 +1138,7 @@ test_emacs () {
|
||||||
rm -f OUTPUT
|
rm -f OUTPUT
|
||||||
touch OUTPUT
|
touch OUTPUT
|
||||||
|
|
||||||
${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(progn $@)"
|
${TEST_EMACSCLIENT} --socket-name="$EMACS_SERVER" --eval "(notmuch-test-progn $@)"
|
||||||
}
|
}
|
||||||
|
|
||||||
test_python() {
|
test_python() {
|
||||||
|
|
Loading…
Reference in a new issue