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:
Christoph M. Becker 2019-06-23 13:54:42 +02:00
parent df27bfe58b
commit 94df6dc3fd
4 changed files with 84 additions and 72 deletions

View File

@ -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

View 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

View 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

View File

@ -109,21 +109,4 @@ php_cli_server_start_error:
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;
}
?>