[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: popen test hangs
From: |
Neil Jerram |
Subject: |
Re: popen test hangs |
Date: |
Thu, 09 Jul 2009 00:04:01 +0100 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.2 (gnu/linux) |
"Marijn Schouten (hkBst)" <address@hidden> 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