Commit: 7b2ab569976f63b22ba1c69e78e782a693d5076a Author: Xinchen Hui <larue...@php.net> Wed, 9 May 2012 11:21:24 +0800 Parents: f46a064760bd99223d8a8aec9df9807bab262022 Branches: PHP-5.4
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=7b2ab569976f63b22ba1c69e78e782a693d5076a Log: Fix test failed, the fsockopen will be refused immediately if the server is not set up. Changed paths: M sapi/cli/tests/php_cli_server.inc Diff: diff --git a/sapi/cli/tests/php_cli_server.inc b/sapi/cli/tests/php_cli_server.inc index d24a679..3479cd0 100644 --- a/sapi/cli/tests/php_cli_server.inc +++ b/sapi/cli/tests/php_cli_server.inc @@ -37,16 +37,14 @@ function php_cli_server_start($code = 'echo "Hello world";', $no_router = FALSE) // note: even when server prints 'Listening on localhost:8964...Press Ctrl-C to quit.' // it might not be listening yet...need to wait until fsockopen() call returns - $fp = fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT); - if ($fp) { - // server will report Unexpected EOF error (socket opened, closed without writing - // anything) but that can be ignored - fclose($fp); - } else { - // test will fail to connect if server doesn't start listening/accepting - // in the next few microseconds - } + $i = 0; + while (($i++ < 5) && !($fp = @fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT))) { + usleep(10000); + } + if ($fp) { + fclose($fp); + } register_shutdown_function( function($handle) use($router) { @@ -56,7 +54,6 @@ function php_cli_server_start($code = 'echo "Hello world";', $no_router = FALSE) $handle ); // don't bother sleeping, server is already up - //usleep(50000); // server can take a variable amount of time to be up, so just sleeping a guessed amount of time // does not work. this is why tests sometimes pass and sometimes fail. to get a reliable pass // sleeping doesn't work. -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php