mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Split test case
This test is failing on AppVeyor almost all of the time, so splitting it seems appropriate. This also allows us to rid php_cli_server_stop() which was only used by this test case.
This commit is contained in:
parent
df27bfe58b
commit
94df6dc3fd
4 changed files with 84 additions and 72 deletions
|
@ -1,55 +0,0 @@
|
||||||
--TEST--
|
|
||||||
FR #67429 (CLI server is missing some new HTTP response codes)
|
|
||||||
--SKIPIF--
|
|
||||||
<?php
|
|
||||||
include "skipif.inc";
|
|
||||||
?>
|
|
||||||
--FILE--
|
|
||||||
<?php
|
|
||||||
include "php_cli_server.inc";
|
|
||||||
|
|
||||||
// This creates a new server for each response code
|
|
||||||
foreach ([308, 426] as $code) {
|
|
||||||
$proc_handle = php_cli_server_start(<<<PHP
|
|
||||||
http_response_code($code);
|
|
||||||
PHP
|
|
||||||
);
|
|
||||||
|
|
||||||
list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
|
|
||||||
$port = intval($port)?:80;
|
|
||||||
|
|
||||||
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
|
||||||
if (!$fp) {
|
|
||||||
die("connect failed");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(fwrite($fp, <<<HEADER
|
|
||||||
GET / HTTP/1.1
|
|
||||||
|
|
||||||
|
|
||||||
HEADER
|
|
||||||
)) {
|
|
||||||
while (!feof($fp)) {
|
|
||||||
echo fgets($fp);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fclose($fp);
|
|
||||||
// Shutdown the servers or another server may not be able to start
|
|
||||||
// because of the this server still being bound to the port
|
|
||||||
|
|
||||||
php_cli_server_stop($proc_handle);
|
|
||||||
}
|
|
||||||
?>
|
|
||||||
--EXPECTF--
|
|
||||||
HTTP/1.1 308 Permanent Redirect
|
|
||||||
Date: %s
|
|
||||||
Connection: close
|
|
||||||
X-Powered-By: %s
|
|
||||||
Content-type: text/html; charset=UTF-8
|
|
||||||
|
|
||||||
HTTP/1.1 426 Upgrade Required
|
|
||||||
Date: %s
|
|
||||||
Connection: close
|
|
||||||
X-Powered-By: %s
|
|
||||||
Content-type: text/html; charset=UTF-8
|
|
42
sapi/cli/tests/bug67429_1.phpt
Normal file
42
sapi/cli/tests/bug67429_1.phpt
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
--TEST--
|
||||||
|
FR #67429 (CLI server is missing some new HTTP response codes)
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
include "skipif.inc";
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
include "php_cli_server.inc";
|
||||||
|
|
||||||
|
$proc_handle = php_cli_server_start(<<<PHP
|
||||||
|
http_response_code(308);
|
||||||
|
PHP
|
||||||
|
);
|
||||||
|
|
||||||
|
list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
|
||||||
|
$port = intval($port)?:80;
|
||||||
|
|
||||||
|
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
||||||
|
if (!$fp) {
|
||||||
|
die("connect failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fwrite($fp, <<<HEADER
|
||||||
|
GET / HTTP/1.1
|
||||||
|
|
||||||
|
|
||||||
|
HEADER
|
||||||
|
)) {
|
||||||
|
while (!feof($fp)) {
|
||||||
|
echo fgets($fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($fp);
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
HTTP/1.1 308 Permanent Redirect
|
||||||
|
Date: %s
|
||||||
|
Connection: close
|
||||||
|
X-Powered-By: %s
|
||||||
|
Content-type: text/html; charset=UTF-8
|
42
sapi/cli/tests/bug67429_2.phpt
Normal file
42
sapi/cli/tests/bug67429_2.phpt
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
--TEST--
|
||||||
|
FR #67429 (CLI server is missing some new HTTP response codes)
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
include "skipif.inc";
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
include "php_cli_server.inc";
|
||||||
|
|
||||||
|
$proc_handle = php_cli_server_start(<<<PHP
|
||||||
|
http_response_code(426);
|
||||||
|
PHP
|
||||||
|
);
|
||||||
|
|
||||||
|
list($host, $port) = explode(':', PHP_CLI_SERVER_ADDRESS);
|
||||||
|
$port = intval($port)?:80;
|
||||||
|
|
||||||
|
$fp = fsockopen($host, $port, $errno, $errstr, 0.5);
|
||||||
|
if (!$fp) {
|
||||||
|
die("connect failed");
|
||||||
|
}
|
||||||
|
|
||||||
|
if(fwrite($fp, <<<HEADER
|
||||||
|
GET / HTTP/1.1
|
||||||
|
|
||||||
|
|
||||||
|
HEADER
|
||||||
|
)) {
|
||||||
|
while (!feof($fp)) {
|
||||||
|
echo fgets($fp);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fclose($fp);
|
||||||
|
?>
|
||||||
|
--EXPECTF--
|
||||||
|
HTTP/1.1 426 Upgrade Required
|
||||||
|
Date: %s
|
||||||
|
Connection: close
|
||||||
|
X-Powered-By: %s
|
||||||
|
Content-type: text/html; charset=UTF-8
|
|
@ -109,21 +109,4 @@ php_cli_server_start_error:
|
||||||
|
|
||||||
return $handle;
|
return $handle;
|
||||||
}
|
}
|
||||||
|
|
||||||
function php_cli_server_stop($handle) {
|
|
||||||
$success = FALSE;
|
|
||||||
if ($handle) {
|
|
||||||
proc_terminate($handle);
|
|
||||||
/* Wait for server to shutdown */
|
|
||||||
for ($i = 0; $i < 60; $i++) {
|
|
||||||
$status = proc_get_status($handle);
|
|
||||||
if (!($status && $status['running'])) {
|
|
||||||
$success = TRUE;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
usleep(50000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return $success;
|
|
||||||
}
|
|
||||||
?>
|
?>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue