diff options
| author | Christoph M. Becker <cmbecker69@gmx.de> | 2016-12-30 13:56:34 +0100 |
|---|---|---|
| committer | Christoph M. Becker <cmbecker69@gmx.de> | 2016-12-30 13:56:34 +0100 |
| commit | 97e16ebbe2976dad22e8238958d3d5f023cc0132 (patch) | |
| tree | a3d6bbbddd11bf464abf7ac9bcb8984108307d9e | |
| parent | 88d1a2c5aab441fd322683f8d21667932aeec636 (diff) | |
| parent | 432660f73f929b560d5f9c3d5466e3a2aee42851 (diff) | |
| download | php-git-97e16ebbe2976dad22e8238958d3d5f023cc0132.tar.gz | |
Merge branch 'PHP-7.0' of https://git.php.net/repository/php-src into PHP-7.0
* 'PHP-7.0' of https://git.php.net/repository/php-src:
Another try at making concat_003 more reliable
Fix flaky openssl_pkey_new test
Make Opcache tests using the cli server more reliable
| -rw-r--r-- | Zend/tests/concat_003.phpt | 42 | ||||
| -rw-r--r-- | ext/opcache/tests/php_cli_server.inc | 43 | ||||
| -rw-r--r-- | ext/openssl/tests/openssl_pkey_new_basic.phpt | 14 |
3 files changed, 50 insertions, 49 deletions
diff --git a/Zend/tests/concat_003.phpt b/Zend/tests/concat_003.phpt index 53d8d2f9a4..13c6fdc087 100644 --- a/Zend/tests/concat_003.phpt +++ b/Zend/tests/concat_003.phpt @@ -2,37 +2,24 @@ Concatenating many small strings should not slowdown allocations --SKIPIF-- <?php if (PHP_DEBUG) { die ("skip debug version is slow"); } ?> ---INI-- -memory_limit=256m --FILE-- <?php -/* To note is that memory usage can vary depending on whether opcache is on. The actual - measuring that matters is timing here. */ - $time = microtime(TRUE); /* This might vary on Linux/Windows, so the worst case and also count in slow machines. */ -$t0_max = 0.3; -$t1_max = 1.0; - -$datas = []; -for ($i = 0; $i < 220000; $i++) -{ - $datas[] = [ - '000.000.000.000', - '000.255.255.255', - '保留地址', - '保留地址', - '保留地址', - '保留地址', - '保留地址', - '保留地址', - ]; -} - -$t0 = microtime(TRUE) - $time; -var_dump($t0 < $t0_max); +$t_max = 1.0; + +$datas = array_fill(0, 220000, [ + '000.000.000.000', + '000.255.255.255', + '保留地址', + '保留地址', + '保留地址', + '保留地址', + '保留地址', + '保留地址', +]); $time = microtime(TRUE); $texts = ''; @@ -41,12 +28,11 @@ foreach ($datas AS $data) $texts .= implode("\t", $data) . "\r\n"; } -$t1 = microtime(TRUE) - $time; -var_dump($t1 < $t1_max); +$t = microtime(TRUE) - $time; +var_dump($t < $t_max); ?> +++DONE+++ --EXPECT-- bool(true) -bool(true) +++DONE+++ diff --git a/ext/opcache/tests/php_cli_server.inc b/ext/opcache/tests/php_cli_server.inc index 0878bfafc0..ca6854f553 100644 --- a/ext/opcache/tests/php_cli_server.inc +++ b/ext/opcache/tests/php_cli_server.inc @@ -20,28 +20,43 @@ function php_cli_server_start($ini = "") { $cmd = "exec {$php_executable} -t {$doc_root} $ini -S " . PHP_CLI_SERVER_ADDRESS . " 2>/dev/null"; $handle = proc_open($cmd, $descriptorspec, $pipes, $doc_root); } - + // 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 - $i = 0; - while (($i++ < 30) && !($fp = @fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT))) { - usleep(10000); - } + $error = "Unable to connect to servers\n"; + for ($i=0; $i < 60; $i++) { + usleep(25000); // 25ms per try + $status = proc_get_status($handle); + $fp = @fsockopen(PHP_CLI_SERVER_HOSTNAME, PHP_CLI_SERVER_PORT); + // Failure, the server is no longer running + if (!($status && $status['running'])) { + $error = "Server is not running\n"; + break; + } + // Success, Connected to servers + if ($fp) { + $error = ''; + break; + } + } - if ($fp) { - fclose($fp); - } + if ($fp) { + fclose($fp); + } + + if ($error) { + echo $error; + proc_terminate($handle); + exit(1); + } register_shutdown_function( function($handle) { proc_terminate($handle); }, - $handle - ); - // don't bother sleeping, server is already up - // 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. + $handle + ); + } ?> diff --git a/ext/openssl/tests/openssl_pkey_new_basic.phpt b/ext/openssl/tests/openssl_pkey_new_basic.phpt index eee2eb0a0e..b73b1f580c 100644 --- a/ext/openssl/tests/openssl_pkey_new_basic.phpt +++ b/ext/openssl/tests/openssl_pkey_new_basic.phpt @@ -86,10 +86,10 @@ $details = openssl_pkey_get_details($dh); $dh_details = $details['dh']; openssl_pkey_test_cmp($phex, $dh_details['p']); var_dump($dh_details['g']); -var_dump(strlen($dh_details['pub_key']) > 0); -var_dump(strlen($dh_details['priv_key']) > 0); +var_dump(strlen($dh_details['pub_key'])); +var_dump(strlen($dh_details['priv_key'])); ?> ---EXPECT-- +--EXPECTF-- int(0) int(0) int(0) @@ -98,9 +98,9 @@ int(0) int(0) int(0) int(0) -int(20) -int(128) +int(%d) +int(%d) int(0) string(1) "2" -bool(true) -bool(true) +int(%d) +int(%d) |
