Flush stderr on win32 in cli_log_message

This allows us to unfork a bunch of tests for Windows.
This commit is contained in:
Nikita Popov 2016-12-27 22:44:46 +01:00
parent 4877641962
commit 935b5cb11e
10 changed files with 4 additions and 113 deletions

View File

@ -1,17 +0,0 @@
--TEST--
Bug #66481: Calls to session_name() segfault when session.name is null, Windows.
--INI--
session.name=
--SKIPIF--
<?php include('skipif.inc'); ?>
<?php if(substr(PHP_OS, 0, 3) != "WIN") die("skip Windows only"); ?>
--FILE--
<?php
var_dump(session_name("foo"));
var_dump(session_name("bar"));
--EXPECTF--
Warning: PHP Startup: session.name cannot be a numeric or empty '' in Unknown on line 0
string(9) "PHPSESSID"
string(3) "foo"
PHP Warning: PHP Startup: session.name cannot be a numeric or empty '' in Unknown on line 0

View File

@ -4,7 +4,6 @@ Bug #66481: Calls to session_name() segfault when session.name is null.
session.name=
--SKIPIF--
<?php include('skipif.inc'); ?>
<?php if(substr(PHP_OS, 0, 3) == "WIN") die("skip Not for Windows"); ?>
--FILE--
<?php

View File

@ -1,19 +0,0 @@
--TEST--
session rfc1867 invalid settings
--INI--
session.upload_progress.freq=-1
error_log=
--SKIPIF--
<?php
include('skipif.inc');
if(substr(PHP_OS, 0, 3) != "WIN")
die("skip windows only test");
?>
--FILE--
<?php
var_dump(ini_get("session.upload_progress.freq"));
?>
--EXPECTF--
Warning: PHP Startup: session.upload_progress.freq must be greater than or equal to zero in %s
string(2) "1%"
PHP Warning: PHP Startup: session.upload_progress.freq must be greater than or equal to zero in %s

View File

@ -6,8 +6,6 @@ error_log=
--SKIPIF--
<?php
include('skipif.inc');
if(substr(PHP_OS, 0, 3) == "WIN")
die("skip Not for Windows");
?>
--FILE--
<?php

View File

@ -1,19 +0,0 @@
--TEST--
session rfc1867 invalid settings 2
--INI--
session.upload_progress.freq=200%
error_log=
--SKIPIF--
<?php
include('skipif.inc');
if(substr(PHP_OS, 0, 3) != "WIN")
die("skip windows only test");
?>
--FILE--
<?php
var_dump(ini_get("session.upload_progress.freq"));
?>
--EXPECTF--
Warning: PHP Startup: session.upload_progress.freq cannot be over 100% in %s
string(2) "1%"
PHP Warning: PHP Startup: session.upload_progress.freq cannot be over 100% in %s

View File

@ -6,8 +6,6 @@ error_log=
--SKIPIF--
<?php
include('skipif.inc');
if(substr(PHP_OS, 0, 3) == "WIN")
die("skip Not for Windows");
?>
--FILE--
<?php

View File

@ -1,47 +0,0 @@
--TEST--
Bug #31422 (No Error-Logging on SoapServer-Side)
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) != 'WIN') {
die('skip not valid for non windows');
}
require_once('skipif.inc');
?>
--INI--
log_errors=1
--FILE--
<?php
function Add($x,$y) {
fopen();
user_error("Hello", E_USER_ERROR);
return $x+$y;
}
$server = new SoapServer(null,array('uri'=>"http://testuri.org"));
$server->addfunction("Add");
$HTTP_RAW_POST_DATA = <<<EOF
<?xml version="1.0" encoding="ISO-8859-1"?>
<SOAP-ENV:Envelope
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:si="http://soapinterop.org/xsd">
<SOAP-ENV:Body>
<ns1:Add xmlns:ns1="http://testuri.org">
<x xsi:type="xsd:int">22</x>
<y xsi:type="xsd:int">33</y>
</ns1:Add>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
EOF;
$server->handle($HTTP_RAW_POST_DATA);
echo "ok\n";
?>
--EXPECTF--
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Body><SOAP-ENV:Fault><faultcode>SOAP-ENV:Server</faultcode><faultstring>Hello</faultstring></SOAP-ENV:Fault></SOAP-ENV:Body></SOAP-ENV:Envelope>
PHP Warning: fopen() expects at least 2 parameters, 0 given in %sbug31422-win.php on line %d
PHP Fatal error: Hello in %sbug31422-win.php on line %d

View File

@ -2,9 +2,6 @@
Bug #31422 (No Error-Logging on SoapServer-Side)
--SKIPIF--
<?php
if (substr(PHP_OS, 0, 3) == 'WIN') {
die('skip not valid for windows');
}
require_once('skipif.inc');
?>
--INI--

View File

@ -1117,11 +1117,9 @@ static ZEND_COLD void php_error_cb(int type, const char *error_filename, const u
if ((!strcmp(sapi_module.name, "cli") || !strcmp(sapi_module.name, "cgi")) &&
PG(display_errors) == PHP_DISPLAY_ERRORS_STDERR
) {
fprintf(stderr, "%s: %s in %s on line %u\n", error_type_str, buffer, error_filename, error_lineno);
#ifdef PHP_WIN32
fprintf(stderr, "%s: %s in %s on line %u\n", error_type_str, buffer, error_filename, error_lineno);
fflush(stderr);
#else
fprintf(stderr, "%s: %s in %s on line %u\n", error_type_str, buffer, error_filename, error_lineno);
#endif
} else {
php_printf("%s\n%s: %s in %s on line %d\n%s", STR_PRINT(prepend_string), error_type_str, buffer, error_filename, error_lineno, STR_PRINT(append_string));

View File

@ -379,6 +379,9 @@ static void sapi_cli_register_variables(zval *track_vars_array) /* {{{ */
static void sapi_cli_log_message(char *message) /* {{{ */
{
fprintf(stderr, "%s\n", message);
#ifdef PHP_WIN32
fflush(stderr);
#endif
}
/* }}} */