emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] master 3be53aa: Add test for bug #21831


From: Eli Zaretskii
Subject: [Emacs-diffs] master 3be53aa: Add test for bug #21831
Date: Thu, 05 Nov 2015 18:13:33 +0000

branch: master
commit 3be53aaed126e72be11a6743de6ddd51aaf96b63
Author: Eli Zaretskii <address@hidden>
Commit: Eli Zaretskii <address@hidden>

    Add test for bug #21831
    
    * test/automated/process-tests.el
    (start-process-should-not-modify-arguments): New test.  (Bug#21831)
    Suggested by Nicolas Richard <address@hidden>
---
 test/automated/process-tests.el |   18 ++++++++++++++++++
 1 files changed, 18 insertions(+), 0 deletions(-)

diff --git a/test/automated/process-tests.el b/test/automated/process-tests.el
index 58a2de7..4a43a01 100644
--- a/test/automated/process-tests.el
+++ b/test/automated/process-tests.el
@@ -142,4 +142,22 @@
     (should (equal "hello stderr!\n"
                   (mapconcat #'identity (nreverse stderr-output) "")))))
 
+(ert-deftest start-process-should-not-modify-arguments ()
+  "`start-process' must not modify its arguments in-place."
+  ;; See bug#21831.
+  (let* ((path (pcase system-type
+                 ((or 'windows-nt 'ms-dos)
+                  ;; Make sure the file name uses forward slashes.
+                  ;; The original bug was that 'start-process' would
+                  ;; convert forward slashes to backslashes.
+                  (expand-file-name (executable-find "attrib.exe")))
+                 (_ "/bin//sh")))
+         (samepath (copy-sequence path)))
+    ;; Make sure 'start-process' actually goes all the way and invokes
+    ;; the program.
+    (should (process-live-p (condition-case nil
+                                (start-process "" nil path)
+                              (error nil))))
+    (should (equal path samepath))))
+
 (provide 'process-tests)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]