STDOUT/STDERR IO streams do not exist in process isolation#1366
Merged
Conversation
The PHP CLI SAPI does not auto-register the standard IO streams when a script is piped into STDIN (which is the case in process isolation); cf. - https://bugs.php.net/bug.php?id=43283 - http://php.net/manual/en/features.commandline.io-streams.php - https://gist.github.com/sun/d02c242514c8f34bccdb
Contributor
Author
|
So apparently, HHVM does define IO streams on CLI even when a script is injected via STDIN… In other words, they seem to have resolved PHP core bug #43283. The test result on HHVM is the expected output if STDOUT was defined. It shows a different problem in that we're not able to cleanly identify and extract the serialized string in the output, but that's a different issue. So the test needs to be skipped on HHVM. — But how do I skip a PHPT test? |
Owner
|
Add a |
Contributor
Author
|
Oh thanks! Learn something new every day :) Added a SKIPIF section. |
Contributor
|
Thanks, @sun! |
whatthejeff
added a commit
that referenced
this pull request
Jul 30, 2014
STDOUT/STDERR IO streams do not exist in process isolation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The PHP CLI SAPI does not auto-register the standard IO streams when a script is piped into STDIN (which is the case in process isolation); cf.
https://bugs.php.net/bug.php?id=43283
http://php.net/manual/en/features.commandline.io-streams.php
https://gist.github.com/sun/d02c242514c8f34bccdb
When a test is executed without process isolation, then the
STDOUTandSTDERRstreams are available. But if the test is executed in a separate process, then attempting to access the streams triggers a PHP Notice (undefined constant), followed by a PHP Warning (fopen).A prominent example of affected code is e.g. vfsStream, which is an officially recommended/endorsed library for PHPUnit.