]> git.eshelyaron.com Git - emacs.git/commitdiff
Test `shell-command-width' in Tramp
authorMichael Albinus <michael.albinus@gmx.de>
Wed, 17 Apr 2019 09:42:06 +0000 (11:42 +0200)
committerMichael Albinus <michael.albinus@gmx.de>
Wed, 17 Apr 2019 09:42:06 +0000 (11:42 +0200)
* test/lisp/net/tramp-tests.el
(tramp--test-shell-command-to-string-asynchronously): Move up.
(tramp-test32-shell-command): Test `shell-command-width'.

test/lisp/net/tramp-tests.el

index cc3200be948845345b78afe2a75b97ca93c0ed29..64eb1ddefd8262387875c65f0e391932d04d6f95 100644 (file)
@@ -4079,6 +4079,16 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
       ;; Cleanup.
       (ignore-errors (delete-process proc)))))
 
+(defun tramp--test-shell-command-to-string-asynchronously (command)
+  "Like `shell-command-to-string', but for asynchronous processes."
+  (with-temp-buffer
+    (async-shell-command command (current-buffer))
+    (with-timeout
+        ((if (getenv "EMACS_EMBA_CI") 30 10) (tramp--test-timeout-handler))
+      (while (accept-process-output
+             (get-buffer-process (current-buffer)) nil nil t)))
+    (buffer-substring-no-properties (point-min) (point-max))))
+
 (ert-deftest tramp-test32-shell-command ()
   "Check `shell-command'."
   :tags '(:expensive-test)
@@ -4094,6 +4104,8 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
          ;; Suppress nasty messages.
          (inhibit-message t)
          kill-buffer-query-functions)
+
+      ;; Test ordinary `shell-command'.
       (unwind-protect
          (with-temp-buffer
            (write-region "foo" nil tmp-name)
@@ -4114,6 +4126,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
        ;; Cleanup.
        (ignore-errors (delete-file tmp-name)))
 
+      ;; Test ordinary `async-shell-command'.
       (unwind-protect
          (with-temp-buffer
            (write-region "foo" nil tmp-name)
@@ -4142,6 +4155,7 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
        ;; Cleanup.
        (ignore-errors (delete-file tmp-name)))
 
+      ;; Test sending string to `async-shell-command'.
       (unwind-protect
          (with-temp-buffer
            (write-region "foo" nil tmp-name)
@@ -4169,17 +4183,25 @@ This tests also `make-symbolic-link', `file-truename' and `add-name-to-file'."
              (buffer-string))))
 
        ;; Cleanup.
-       (ignore-errors (delete-file tmp-name))))))
+       (ignore-errors (delete-file tmp-name)))
 
-(defun tramp--test-shell-command-to-string-asynchronously (command)
-  "Like `shell-command-to-string', but for asynchronous processes."
-  (with-temp-buffer
-    (async-shell-command command (current-buffer))
-    (with-timeout
-        ((if (getenv "EMACS_EMBA_CI") 30 10) (tramp--test-timeout-handler))
-      (while (accept-process-output
-             (get-buffer-process (current-buffer)) nil nil t)))
-    (buffer-substring-no-properties (point-min) (point-max))))
+      ;; Test `shell-command-width' of `async-shell-command'.
+      (when (tramp--test-sh-p)
+       (let (shell-command-width)
+         (should
+          (string-equal
+           ;; `frame-width' does not return a proper value.
+           ;; `process-lines' uses `call-process', it doesn't care
+           ;; about `shell-command-width'.
+           (format "%s\n" (car (process-lines "tput" "cols")))
+           (tramp--test-shell-command-to-string-asynchronously
+            "tput cols")))
+         (setq shell-command-width 1024)
+         (should
+          (string-equal
+           "1024\n"
+           (tramp--test-shell-command-to-string-asynchronously
+            "tput cols"))))))))
 
 ;; This test is inspired by Bug#23952.
 (ert-deftest tramp-test33-environment-variables ()