diff options
author | Sean Whitton <spwhitton@spwhitton.name> | 2022-01-22 18:54:55 -0700 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-01-24 21:45:00 +0100 |
commit | 42aef82a2b0d7b464a97fb0a50ae00501d7b4708 (patch) | |
tree | b08fba36f765496465a5d1354ec15c7f3e2bb101 /test/lisp | |
parent | 1693423fd74d882f7e682a65136c1111e253058a (diff) | |
download | emacs-42aef82a2b0d7b464a97fb0a50ae00501d7b4708.tar.gz emacs-42aef82a2b0d7b464a97fb0a50ae00501d7b4708.tar.bz2 emacs-42aef82a2b0d7b464a97fb0a50ae00501d7b4708.zip |
Rework eshell-match-result for testing asynchronous commands
When using eshell-match-result via eshell-command-result-p to examine
the output of asynchronous Eshell commands, a newly emitted prompt is
included in the text against which the regexp is matched. This makes
it awkward to match against the whole output; for example, to check
whether it is empty. Rework the function to exclude the prompt.
* test/lisp/eshell/eshell-tests-helpers.el (eshell-match-result):
Exclude any newly emitted prompt from the text against which the
regexp is matched. Additionally, the function no longer moves point.
* test/lisp/eshell/eshell-tests.el (eshell-test/flush-output): Update
and simplify test given how eshell-match-result no longer moves point.
Diffstat (limited to 'test/lisp')
-rw-r--r-- | test/lisp/eshell/eshell-tests-helpers.el | 9 | ||||
-rw-r--r-- | test/lisp/eshell/eshell-tests.el | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/test/lisp/eshell/eshell-tests-helpers.el b/test/lisp/eshell/eshell-tests-helpers.el index 2afa63ae51a..a150adb1442 100644 --- a/test/lisp/eshell/eshell-tests-helpers.el +++ b/test/lisp/eshell/eshell-tests-helpers.el @@ -66,10 +66,11 @@ raise an error." (funcall (or func 'eshell-send-input))) (defun eshell-match-result (regexp) - "Check that text after `eshell-last-input-end' matches REGEXP." - (goto-char eshell-last-input-end) - (should (string-match-p regexp (buffer-substring-no-properties - (point) (point-max))))) + "Check that output of last command matches REGEXP." + (should + (string-match-p + regexp (buffer-substring-no-properties + (eshell-beginning-of-output) (eshell-end-of-output))))) (defun eshell-command-result-p (text regexp &optional func) "Insert a command at the end of the buffer." diff --git a/test/lisp/eshell/eshell-tests.el b/test/lisp/eshell/eshell-tests.el index 6aeefdfde21..542815df809 100644 --- a/test/lisp/eshell/eshell-tests.el +++ b/test/lisp/eshell/eshell-tests.el @@ -232,9 +232,8 @@ chars" (with-temp-eshell (eshell-insert-command "echo alpha") (eshell-kill-output) - (eshell-match-result (regexp-quote "*** output flushed ***\n")) - (should (forward-line)) - (should (= (point) eshell-last-output-start)))) + (eshell-match-result + (concat "^" (regexp-quote "*** output flushed ***\n") "$")))) (ert-deftest eshell-test/run-old-command () "Re-run an old command" |