[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master 677bd0a: Fix tramp-test32-shell-command-dont-erase-buffer
From: |
Michael Albinus |
Subject: |
master 677bd0a: Fix tramp-test32-shell-command-dont-erase-buffer |
Date: |
Sun, 26 Apr 2020 07:32:11 -0400 (EDT) |
branch: master
commit 677bd0a5e39253acb6d3a253d3243ba422a2f6cc
Author: Michael Albinus <address@hidden>
Commit: Michael Albinus <address@hidden>
Fix tramp-test32-shell-command-dont-erase-buffer
* test/lisp/net/tramp-tests.el
(tramp-test32-shell-command-dont-erase-buffer): Adapt test.
---
test/lisp/net/tramp-tests.el | 152 ++++++++++++++++++++++++++++++++++++++-----
1 file changed, 134 insertions(+), 18 deletions(-)
diff --git a/test/lisp/net/tramp-tests.el b/test/lisp/net/tramp-tests.el
index d00c88a..75a0167 100644
--- a/test/lisp/net/tramp-tests.el
+++ b/test/lisp/net/tramp-tests.el
@@ -4642,8 +4642,7 @@ INPUT, if non-nil, is a string sent to the process."
;; This test is inspired by Bug#39067.
(ert-deftest tramp-test32-shell-command-dont-erase-buffer ()
"Check `shell-command-dont-erase-buffer'."
- ;; The test fails due to recent changes in Emacs. So we mark it as unstable.
- :tags '(:expensive-test :unstable)
+ :tags '(:expensive-test)
(skip-unless (tramp--test-enabled))
(skip-unless (or (tramp--test-adb-p) (tramp--test-sh-p)))
;; Prior Emacs 27, `shell-command-dont-erase-buffer' wasn't working properly.
@@ -4668,9 +4667,10 @@ INPUT, if non-nil, is a string sent to the process."
(should (= (point) (point-max)))
(shell-command "echo baz" (current-buffer))
(should (string-equal "barbaz\n" (buffer-string)))
- (should (= point (point)))))
+ (should (= point (point)))
+ (should-not (= (point) (point-max)))))
- ;; Erase if the buffer is not current one.
+ ;; Erase if the buffer is not current one. Point is not moved.
(let (shell-command-dont-erase-buffer)
(with-current-buffer buffer
(erase-buffer)
@@ -4681,22 +4681,28 @@ INPUT, if non-nil, is a string sent to the process."
(with-temp-buffer
(shell-command "echo baz" buffer))
(should (string-equal "baz\n" (buffer-string)))
- (should (= point (point)))))
+ (should (= point (point)))
+ (should-not (= (point) (point-max)))))
;; Erase if buffer is the current one, but
;; `shell-command-dont-erase-buffer' is set to `erase'.
+ ;; There is no point to check point.
(let ((shell-command-dont-erase-buffer 'erase))
(with-temp-buffer
(insert "bar")
- (setq point (point))
(should (string-equal "bar" (buffer-string)))
(should (= (point) (point-max)))
(shell-command "echo baz" (current-buffer))
(should (string-equal "baz\n" (buffer-string)))
- (should (= (point) (point-max)))))
-
- ;; Don't erase if `shell-command-dont-erase-buffer' is set
- ;; to `beg-last-out'. Check point.
+ ;; In the local case, point is not moved after the
+ ;; inserted text.
+ (should (= (point)
+ (if (file-remote-p default-directory)
+ (point-max) (point-min))))))
+
+ ;; Don't erase if the buffer is the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `beg-last-out'. Check point.
(let ((shell-command-dont-erase-buffer 'beg-last-out))
(with-temp-buffer
(insert "bar")
@@ -4705,10 +4711,32 @@ INPUT, if non-nil, is a string sent to the process."
(should (= (point) (point-max)))
(shell-command "echo baz" (current-buffer))
(should (string-equal "barbaz\n" (buffer-string)))
- (should (= point (point)))))
-
- ;; Don't erase if `shell-command-dont-erase-buffer' is set
- ;; to `end-last-out'. Check point.
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should (= point (point)))
+ (should-not (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is not the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `beg-last-out'. Check point.
+ (let ((shell-command-dont-erase-buffer 'beg-last-out))
+ (with-current-buffer buffer
+ (erase-buffer)
+ (insert "bar")
+ (setq point (point))
+ (should (string-equal "bar" (buffer-string)))
+ (should (= (point) (point-max)))
+ (with-temp-buffer
+ (shell-command "echo baz" buffer))
+ (should (string-equal "barbaz\n" (buffer-string)))
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should (= point (point)))
+ (should-not (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `end-last-out'. Check point.
(let ((shell-command-dont-erase-buffer 'end-last-out))
(with-temp-buffer
(insert "bar")
@@ -4717,10 +4745,36 @@ INPUT, if non-nil, is a string sent to the process."
(should (= (point) (point-max)))
(shell-command "echo baz" (current-buffer))
(should (string-equal "barbaz\n" (buffer-string)))
- (should (= (point) (point-max)))))
+ ;; This does not work as expected in the local case.
+ ;; Therefore, we negate the test for the time being.
+ (should-not
+ (funcall (if (file-remote-p default-directory) #'identity
#'not)
+ (= point (point))))
+ (should
+ (funcall (if (file-remote-p default-directory) #'identity
#'not)
+ (= (point) (point-max))))))
- ;; Don't erase if `shell-command-dont-erase-buffer' is set
- ;; to `save-point'. Check point.
+ ;; Don't erase if the buffer is not the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `end-last-out'. Check point.
+ (let ((shell-command-dont-erase-buffer 'end-last-out))
+ (with-current-buffer buffer
+ (erase-buffer)
+ (insert "bar")
+ (setq point (point))
+ (should (string-equal "bar" (buffer-string)))
+ (should (= (point) (point-max)))
+ (with-temp-buffer
+ (shell-command "echo baz" buffer))
+ (should (string-equal "barbaz\n" (buffer-string)))
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should-not (= point (point)))
+ (should (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `save-point'. Check point.
(let ((shell-command-dont-erase-buffer 'save-point))
(with-temp-buffer
(insert "bar")
@@ -4729,8 +4783,70 @@ INPUT, if non-nil, is a string sent to the process."
(should (string-equal "bar" (buffer-string)))
(should (= (point) (1- (point-max))))
(shell-command "echo baz" (current-buffer))
+ (should (string-equal "babaz\nr" (buffer-string)))
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should (= point (point)))
+ (should-not (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is not the current one and
+ ;; `shell-command-dont-erase-buffer' is set to
+ ;; `save-point'. Check point.
+ (let ((shell-command-dont-erase-buffer 'save-point))
+ (with-current-buffer buffer
+ (erase-buffer)
+ (insert "bar")
+ (goto-char (1- (point-max)))
+ (setq point (point))
+ (should (string-equal "bar" (buffer-string)))
+ (should (= (point) (1- (point-max))))
+ (with-temp-buffer
+ (shell-command "echo baz" buffer))
+ ;; This does not work as expected. Therefore, we
+ ;; use the "wrong" string.
+ (should (string-equal "barbaz\n" (buffer-string)))
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should (= point (point)))
+ (should-not (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is the current one and
+ ;; `shell-command-dont-erase-buffer' is set to a random
+ ;; value. Check point.
+ (let ((shell-command-dont-erase-buffer 'random))
+ (with-temp-buffer
+ (insert "bar")
+ (setq point (point))
+ (should (string-equal "bar" (buffer-string)))
+ (should (= (point) (point-max)))
+ (shell-command "echo baz" (current-buffer))
+ (should (string-equal "barbaz\n" (buffer-string)))
+ ;; This does not work as expected in the local case.
+ ;; Therefore, we negate the test for the time being.
+ (should-not
+ (funcall (if (file-remote-p default-directory) #'identity
#'not)
+ (= point (point))))
+ (should
+ (funcall (if (file-remote-p default-directory) #'identity
#'not)
+ (= (point) (point-max))))))
+
+ ;; Don't erase if the buffer is not the current one and
+ ;; `shell-command-dont-erase-buffer' is set to a random
+ ;; value. Check point.
+ (let ((shell-command-dont-erase-buffer 'random))
+ (with-current-buffer buffer
+ (erase-buffer)
+ (insert "bar")
+ (setq point (point))
+ (should (string-equal "bar" (buffer-string)))
+ (should (= (point) (point-max)))
+ (with-temp-buffer
+ (shell-command "echo baz" buffer))
(should (string-equal "barbaz\n" (buffer-string)))
- (should (= point (point))))))
+ ;; There is still an error in Tramp.
+ (unless (file-remote-p default-directory)
+ (should-not (= point (point)))
+ (should (= (point) (point-max)))))))
;; Cleanup.
(ignore-errors (kill-buffer buffer))))))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master 677bd0a: Fix tramp-test32-shell-command-dont-erase-buffer,
Michael Albinus <=