mirror of
https://github.com/php/php-src.git
synced 2024-09-22 02:17:32 +00:00
Test update. 5.4+ throws a catchable fatal error, 5.3 does not.
This commit is contained in:
parent
68e5e29850
commit
93b501ed61
@ -225,4 +225,20 @@
|
||||
} else {
|
||||
printf("skip Eeeek/BUG/FIXME - connect.inc included twice! skipif bug?\n");
|
||||
}
|
||||
?>
|
||||
|
||||
function handle_catchable_fatal($errno, $error, $file, $line) {
|
||||
static $errcodes = array();
|
||||
if (empty($errcodes)) {
|
||||
$constants = get_defined_constants();
|
||||
foreach ($constants as $name => $value) {
|
||||
if (substr($name, 0, 2) == "E_")
|
||||
$errcodes[$value] = $name;
|
||||
}
|
||||
}
|
||||
printf("[%s] %s in %s on line %s\n",
|
||||
(isset($errcodes[$errno])) ? $errcodes[$errno] : $errno,
|
||||
$error, $file, $line);
|
||||
|
||||
return true;
|
||||
}
|
||||
?>
|
||||
|
@ -10,6 +10,8 @@ require_once('skipifconnectfailure.inc');
|
||||
<?php
|
||||
include_once("connect.inc");
|
||||
|
||||
set_error_handler('handle_catchable_fatal');
|
||||
|
||||
$tmp = NULL;
|
||||
$link = NULL;
|
||||
|
||||
@ -57,7 +59,7 @@ require_once('skipifconnectfailure.inc');
|
||||
|
||||
}
|
||||
|
||||
$obj = mysqli_fetch_object($res, 'mysqli_fetch_object_construct', null);
|
||||
$obj = mysqli_fetch_object($res, 'mysqli_fetch_object_construct', array());
|
||||
|
||||
if (($obj->ID !== "3") || ($obj->label !== "c") || ($obj->a !== NULL) || ($obj->b !== NULL) || (get_class($obj) != 'mysqli_fetch_object_construct')) {
|
||||
printf("[006] Object seems wrong. [%d] %s\n", mysqli_errno($link), mysqli_error($link));
|
||||
@ -97,7 +99,7 @@ require_once('skipifconnectfailure.inc');
|
||||
Also, I did not ask to get exceptions using the mysqli_options()
|
||||
*/
|
||||
try {
|
||||
if (false !== ($obj = mysqli_fetch_object($res, 'mysqli_fetch_object_construct', 'a')))
|
||||
if (false !== ($obj = @mysqli_fetch_object($res, 'mysqli_fetch_object_construct', 'a')))
|
||||
printf("[011] Should have failed\n");
|
||||
} catch (Exception $e) {
|
||||
printf("%s\n", $e->getMessage());
|
||||
@ -136,22 +138,19 @@ require_once('skipifconnectfailure.inc');
|
||||
require_once("clean_table.inc");
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Missing argument 1 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Warning: Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Notice: Undefined variable: a in %s on line %d
|
||||
|
||||
Notice: Undefined variable: b in %s on line %d
|
||||
|
||||
Warning: Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Notice: Undefined variable: b in %s on line %d
|
||||
[E_WARNING] mysqli_fetch_object() expects at least 1 parameter, 0 given in %s on line %d
|
||||
[E_WARNING] mysqli_fetch_object() expects parameter 1 to be mysqli_result, null given in %s on line %d
|
||||
[E_WARNING] Missing argument 1 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_WARNING] Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_NOTICE] Undefined variable: a in %s on line %d
|
||||
[E_NOTICE] Undefined variable: b in %s on line %d
|
||||
[E_WARNING] Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_NOTICE] Undefined variable: b in %s on line %d
|
||||
NULL
|
||||
NULL
|
||||
|
||||
Warning: mysqli_fetch_object(): Couldn't fetch mysqli_result in %s on line %d
|
||||
[E_WARNING] mysqli_fetch_object(): Couldn't fetch mysqli_result in %s on line %d
|
||||
NULL
|
||||
[E_RECOVERABLE_ERROR] Argument 3 passed to mysqli_fetch_object() must be of the type array, string given in %s on line %d
|
||||
Parameter ctor_params must be an array
|
||||
|
||||
Fatal error: Class 'this_class_does_not_exist' not found in %s on line %d
|
@ -9,6 +9,7 @@ require_once('skipifconnectfailure.inc');
|
||||
--FILE--
|
||||
<?php
|
||||
require_once("connect.inc");
|
||||
set_error_handler('handle_catchable_fatal');
|
||||
|
||||
$tmp = NULL;
|
||||
$link = NULL;
|
||||
@ -110,21 +111,24 @@ require_once('skipifconnectfailure.inc');
|
||||
require_once("clean_table.inc");
|
||||
?>
|
||||
--EXPECTF--
|
||||
Warning: Missing argument 1 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Warning: Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Notice: Undefined variable: a in %s on line %d
|
||||
|
||||
Notice: Undefined variable: b in %s on line %d
|
||||
|
||||
Warning: Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
|
||||
Notice: Undefined variable: b in %s on line %d
|
||||
[E_WARNING] mysqli_result::__construct(): invalid object or resource mysql%s
|
||||
%s on line %d
|
||||
[E_WARNING] mysqli_result::fetch_object(): Couldn't fetch mysqli_result in %s on line %d
|
||||
[E_WARNING] mysqli_result::fetch_object() expects parameter 1 to be string, object given in %s on line %d
|
||||
[E_RECOVERABLE_ERROR] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, object given in %s on line %d
|
||||
[E_WARNING] mysqli_result::fetch_object() expects parameter 1 to be string, object given in %s on line %d
|
||||
[E_RECOVERABLE_ERROR] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, object given in %s on line %d
|
||||
[E_WARNING] mysqli_result::fetch_object() expects at most 2 parameters, 3 given in %s on line %d
|
||||
[E_RECOVERABLE_ERROR] Argument 2 passed to mysqli_result::fetch_object() must be of the type array, null given in %s on line %d
|
||||
[E_WARNING] Missing argument 1 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_WARNING] Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_NOTICE] Undefined variable: a in %s on line %d
|
||||
[E_NOTICE] Undefined variable: b in %s on line %d
|
||||
[E_WARNING] Missing argument 2 for mysqli_fetch_object_construct::__construct() in %s on line %d
|
||||
[E_NOTICE] Undefined variable: b in %s on line %d
|
||||
NULL
|
||||
NULL
|
||||
|
||||
Warning: mysqli_fetch_object(): Couldn't fetch mysqli_result in %s on line %d
|
||||
[E_WARNING] mysqli_fetch_object(): Couldn't fetch mysqli_result in %s on line %d
|
||||
NULL
|
||||
|
||||
Fatal error: Class 'this_class_does_not_exist' not found in %s on line %d
|
Loading…
Reference in New Issue
Block a user