summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--check-guile.in1
-rw-r--r--test-suite/tests/popen-child.scm5
-rw-r--r--test-suite/tests/popen.test5
3 files changed, 9 insertions, 2 deletions
diff --git a/check-guile.in b/check-guile.in
index dde51b37d..fc670e120 100644
--- a/check-guile.in
+++ b/check-guile.in
@@ -15,6 +15,7 @@ top_builddir=@top_builddir_absolute@
top_srcdir=@top_srcdir_absolute@
TEST_SUITE_DIR=${top_srcdir}/test-suite
+export TEST_SUITE_DIR
if [ x"$1" = x-i ] ; then
guile=$2
diff --git a/test-suite/tests/popen-child.scm b/test-suite/tests/popen-child.scm
new file mode 100644
index 000000000..423817b43
--- /dev/null
+++ b/test-suite/tests/popen-child.scm
@@ -0,0 +1,5 @@
+(close-port (current-input-port))
+(let loop ()
+ (display "closed\n" (current-error-port))
+ (force-output (current-error-port))
+ (loop))
diff --git a/test-suite/tests/popen.test b/test-suite/tests/popen.test
index 0a20cff7a..a408c9e00 100644
--- a/test-suite/tests/popen.test
+++ b/test-suite/tests/popen.test
@@ -167,8 +167,9 @@
(let* ((c2p (pipe))
(port (with-error-to-port (cdr c2p)
(lambda ()
- (open-output-pipe
- "exec 0</dev/null; while true; do echo closed 1>&2; done")))))
+ (open-output-pipe (format #f
+ "guile -s ~a/tests/popen-child.scm"
+ (getenv "TEST_SUITE_DIR")))))))
(close-port (cdr c2p)) ;; write side
(with-epipe
(lambda ()