1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Portability fixes for popen.test (for when /bin/sh is not bash)

* test-suite/tests/popen.test (open-input-pipe no-duplicate): Pass
  "read REPLY" command instead of "read" to the subshell, for improved
  portability.  In particular, it is needed when /bin/sh is dash.

  (open-output-pipe no-duplicate): Pass "exec guile [...]" instead of
  "guile [...]" to the subshell, to ensure that the subshell will not
  run guile as a subprocess while holding a duplicate of STDIN, which
  would cause this test to fail.  This is needed when /bin/sh is dash.
This commit is contained in:
Mark H Weaver 2011-03-02 06:02:58 -05:00
parent 229b4bd538
commit 0176bbb717

View file

@ -104,7 +104,7 @@
(with-input-from-port (car p2c)
(lambda ()
(open-input-pipe
"exec 1>/dev/null; echo closed 1>&2; exec 2>/dev/null; read")))))))
"exec 1>/dev/null; echo closed 1>&2; exec 2>/dev/null; read REPLY")))))))
(close-port (cdr c2p)) ;; write side
(let ((result (eof-object? (read-char port))))
(display "hello!\n" (cdr p2c))
@ -168,7 +168,7 @@
(port (with-error-to-port (cdr c2p)
(lambda ()
(open-output-pipe
(string-append "guile --no-auto-compile -s \""
(string-append "exec guile --no-auto-compile -s \""
(getenv "TEST_SUITE_DIR")
"/tests/popen-child.scm\""))))))
(close-port (cdr c2p)) ;; write side