1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2026-01-25 22:50:37 -08:00

Make comint-tests more robust (bug#38813)

* test/lisp/comint-tests.el (comint-test-no-password-function)
(comint-test-password-function-with-value)
(comint-test-password-function-with-nil):
Call accept-process-output as many times as needed, with a slightly
more generous timeout (100 ms), after sending the Password: prompt to
the process, since there must be time for some back-and-forth
communication.  Also clear the process-query-on-exit flag, since it
doesn't go well with noninteractive tests.
This commit is contained in:
Mattias Engdegård 2019-12-30 14:10:02 +01:00
parent 59f71d20ea
commit 2065316749

View file

@ -64,10 +64,10 @@ alter normal password flow."
(with-temp-buffer
(make-comint-in-buffer "test-comint-password" (current-buffer) cat)
(let ((proc (get-buffer-process (current-buffer))))
(set-process-query-on-exit-flag proc nil)
(comint-send-string proc "Password: ")
(accept-process-output proc 0 1 t)
(comint-send-eof)
(accept-process-output proc 0 1 t)
(while (accept-process-output proc 0.1 nil t))
(should (string-equal (buffer-substring-no-properties (point-min) (point-max))
"Password: PaSsWoRd123\n"))
(when (process-live-p proc)
@ -87,10 +87,10 @@ flow. Hook function returns alternative password."
(with-temp-buffer
(make-comint-in-buffer "test-comint-password" (current-buffer) cat)
(let ((proc (get-buffer-process (current-buffer))))
(set-process-query-on-exit-flag proc nil)
(comint-send-string proc "Password: ")
(accept-process-output proc 0 1 t)
(comint-send-eof)
(accept-process-output proc 0 1 t)
(while (accept-process-output proc 0.1 nil t))
(should (string-equal (buffer-substring-no-properties (point-min) (point-max))
"Password: MaGiC-PaSsWoRd789\n"))
(when (process-live-p proc)
@ -110,10 +110,10 @@ password flow if it returns a nil value."
(with-temp-buffer
(make-comint-in-buffer "test-comint-password" (current-buffer) cat)
(let ((proc (get-buffer-process (current-buffer))))
(set-process-query-on-exit-flag proc nil)
(comint-send-string proc "Password: ")
(accept-process-output proc 0 1 t)
(comint-send-eof)
(accept-process-output proc 0 1 t)
(while (accept-process-output proc 0.1 nil t))
(should (string-equal (buffer-substring-no-properties (point-min) (point-max))
"Password: PaSsWoRd456\n"))
(when (process-live-p proc)