diff options
Diffstat (limited to 'test/src/process-tests.el')
-rw-r--r-- | test/src/process-tests.el | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/test/src/process-tests.el b/test/src/process-tests.el index b853f77946d..7745fccaf9d 100644 --- a/test/src/process-tests.el +++ b/test/src/process-tests.el @@ -144,6 +144,35 @@ (should (equal "hello stderr!\n" (mapconcat #'identity (nreverse stderr-output) ""))))) +(ert-deftest set-process-filter-t () + "Test setting process filter to t and back." ;; Bug#36591 + (with-temp-buffer + (let* ((print-level nil) + (print-length nil) + (proc (start-process + "test proc" (current-buffer) + (concat invocation-directory invocation-name) + "-Q" "--batch" "--eval" + (prin1-to-string + '(let (s) + (while (setq s (read-from-minibuffer "$ ")) + (princ s) + (princ "\n"))))))) + (set-process-query-on-exit-flag proc nil) + (send-string proc "one\n") + (should + (accept-process-output proc 1)) ; Read "one". + (should (equal (buffer-string) "$ one\n$ ")) + (set-process-filter proc t) ; Stop reading from proc. + (send-string proc "two\n") + (should-not + (accept-process-output proc 1)) ; Can't read "two" yet. + (should (equal (buffer-string) "$ one\n$ ")) + (set-process-filter proc nil) ; Resume reading from proc. + (should + (accept-process-output proc 1)) ; Read "two" from proc. + (should (equal (buffer-string) "$ one\n$ two\n$ "))))) + (ert-deftest start-process-should-not-modify-arguments () "`start-process' must not modify its arguments in-place." ;; See bug#21831. |