"Marijn Schouten (hkBst)" <hk...@gentoo.org> writes: >> check-guile.log ends with >> >> PASS: popen.test: open-input-pipe: no args >> PASS: popen.test: open-input-pipe: port? >> PASS: popen.test: open-input-pipe: echo hello >> PASS: popen.test: open-input-pipe: stdin==stderr >> PASS: popen.test: open-input-pipe: stdout==stderr >> PASS: popen.test: open-input-pipe: open-input-pipe process gets >> (current-input-port) as stdin >> PASS: popen.test: open-input-pipe: no duplicate >> PASS: popen.test: open-output-pipe: no args >> PASS: popen.test: open-output-pipe: port? >> PASS: popen.test: open-output-pipe: stdin==stderr >> PASS: popen.test: open-output-pipe: stdout==stderr
Thanks, that indicates this test: (pass-if "open-input-pipe process gets (current-input-port) as stdin" (let* ((p2c (pipe)) (port (with-input-from-port (car p2c) (lambda () (open-input-pipe "read line && echo $line"))))) (display "hello\n" (cdr p2c)) (force-output (cdr p2c)) (let ((result (eq? (read port) 'hello))) (close-port (cdr p2c)) (close-pipe port) result))) We had trouble with this one because of different shells. The open-input-pipe line was originally "read && echo $REPLY", but that didn't work in Dash, so we changed it to "read line && echo $line" as shown above. Is it possible that your sandbox/package manager uses a different shell from what is used when you run >>> ./pre-inst-guile -s test-suite/tests/popen.test by hand, and that "read line && echo $line" doesn't work in the sandbox/package manager shell? Thanks, Neil