-
Notifications
You must be signed in to change notification settings - Fork 7.8k
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
Run curl_setopt_ssl.phpt on Windows #16086
Conversation
I checked on Windows (openssl 3.3 custom build, Curl 8.10.1), and the test indeed passed on Windows. I'd say lets do it and enable this for Windows. I noted that |
@Ayesh, indeed the test passes for me locally, but might hang in CI, possibly because the pipes are never read, but However, that might also be the problem on FreeBSD:
So maybe we should just read stdout and stderr. I'll have a look at ext/openssl/tests/stream_server_reneg_limit.phpt shortly. Thanks for mentioning! |
Hmm, there's still something wrong. Needs further investigation. |
525fcc8
to
28682b9
Compare
Rebased and force-pushed to trigger CI again (last failure looks actually completely unrelated). |
At least one of these tests stalls in CI; could reproduce locally too, but have not been able to resolve. More important things to do right now, so putting this to backlog. |
28682b9
to
430a04f
Compare
Gosh! When running the test (locally) the first time, it stalls. Afterwards, the |
Seems to work now. Test failure is unrelated; I've left a comment at #16875 (comment). |
The whole point of using `proc_open()` to execute `openssl s_client` is that we can terminate the process when we're done. However, when going through the shell on Windows, we get a handle to the shell process, and if we terminate that, the grandchild will stay open. Since the pipes of the grandchild will stay open, the PHP process will not terminate either, so the test stalls. We solve this by simply bypassing the shell.
430a04f
to
74b33e4
Compare
There seems to be no particular reason to skip this test on Windows.
While we're at it, we also remove the check for
proc_open()
since this function is required (and checked) by run-tests.php anyway.