New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
test failure on FreeBSD #12
Comments
This is to support testing for FreeBSD in particular, for issue pexpect/ptyprocess#12
I was not running tests on FreeBSD (10-Release) for ptyprocess (even though we do for pexpect). Addressing this now and we'll see how the tests do -- thanks for noticing! |
Awesome find: it reproduces. I will address it, thanks @emaste ! |
Strange enough, output is seen three times with /bin/sh through ptyprocess. We would expect it once for input (echo=True by default), and a second time for output. I'm not sure yet what is happening. /bin/sh
bash
|
This is very strange. It is some form of a race condition that is particular with the AT&T shell supplied by FreeBSD. I'm going to just write some kind of workaround for the test case: I don't believe it exposes any actual bug with ptyprocess. Triggered on 2nd call:
Triggered on 81st call:
test_freebsd.py is:
There is something I am not able to understand about /bin/sh on freebsd: This is actually some kind of "second output of input echo" that occurs only with the AT&T-compatible /bin/sh on FreeBSD, and intermittently (a modified version of the test runs forever on OSX and Linux). |
There is something I am not able to understand about /bin/sh on freebsd: This is actually some kind of "second output of input echo" that occurs only with the AT&T-compatible /bin/sh on FreeBSD, and intermittently (a modified version of the test runs forever on OSX and Linux). Complete analysis is in issue #12, #12 (comment)
Closed by #20, new ptyprocess should come shortly. |
Running the tests on FreeBSD 11 I see:
The expected output is produced, it is just not returned by the second
p.read()
in the test. Inserting a dummyp.read()
beforeresponse = p.read()
gets the tests passing.The text was updated successfully, but these errors were encountered: