1
0
mirror of https://github.com/php/php-src.git synced 2026-04-20 06:21:12 +02:00
Commit Graph

3581 Commits

Author SHA1 Message Date
Nikita Popov
c4ad8beaa8 Do not inherit LC_CTYPE locale from environment
Treatment of locales in PHP is currently inconsistent: The LC_ALL
locale is set to "C", as is standard behavior on program startup.
The LC_CTYPE locale is set to "", which will inherit it from the
environment. However, the inherited LC_CTYPE locale will only be
used in some cases, while in other cases it is necessary to perform
an explicit setlocale() call in PHP first. This is the case for
the locale-sensitive handling in the PCRE extension.

Make things consistent by *never* inheriting any locales from the
environment. LC_ALL, including LC_CTYPE will be "C" on startup.
A locale can be set or inherited through an explicit setlocale()
call, at which point the behavior will be fully consistent and
predictable.

Closes GH-5488.
2020-04-30 10:22:51 +02:00
Nikita Popov
53eee290b6 Completely remove disabled functions from function table
Currently, disabling a function only replaces the internal
function handler with one that throws a warning, and a few
places in the engine special-case such functions, such as
function_exists. This leaves us with a Schrödinger's function,
which both does not exist (function_exists returns false) and
does exist (you cannot define a function with the same name).
In particular, this prevents the implementation of robust
polyfills, as reported in https://bugs.php.net/bug.php?id=79382:

    if (!function_exists('getallheaders')) {
        function getallheaders(...) { ... }
    }

If getallheaders() is a disabled function, this code will break.

This patch changes disable_functions to remove the functions from
the function table completely. For all intents and purposes, it
will look like the function does not exist.

This also renders two bits of PHP functionality obsolete and thus
deprecated:

 * ReflectionFunction::isDisabled(), as it will no longer be
   possible to construct the ReflectionFunction of a disabled
   function in the first place.
 * get_defined_functions() with $exclude_disabled=false, as
   get_defined_functions() now never returns disabled functions.

Fixed bug #79382.

Closes GH-5473.
2020-04-30 09:53:57 +02:00
Gabriel Caruso
34c460f329 Check __set_state structure
Fix Bug #79521.

Closes GH-5462.
2020-04-28 17:02:03 +02:00
Nikita Popov
f545ee2c6c Allow optional trailing comma in parameter list
RFC: https://wiki.php.net/rfc/trailing_comma_in_parameter_list

Closes GH-5306.
2020-04-28 16:11:08 +02:00
Gabriel Caruso
5dafd7b4fe Use EXPECT instead of EXPECTF when possible EXPECTF logic in run tests is considerable, so lets avoid it # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # On branch tests/use-simpler-expect-section # Your branch is behind 'fork/tests/use-simpler-expect-section' by 1 commit, and can be fast-forwarded. # (use "git pull" to update your local branch) # # Changes to be committed: # modified: Zend/tests/005.phpt # modified: Zend/tests/bug27669.phpt # modified: Zend/tests/bug51827.phpt # modified: Zend/tests/bug63206.phpt # modified: Zend/tests/bug63206_1.phpt # modified: Zend/tests/bug63206_2.phpt # modified: Zend/tests/incompat_ctx_user.phpt # modified: Zend/tests/instanceof_001.phpt # modified: Zend/tests/unexpected_ref_bug.phpt # modified: ext/date/tests/012.phpt # modified: ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt # modified: ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt # modified: ext/date/tests/date_parse_001.phpt # modified: ext/date/tests/date_parse_error.phpt # modified: ext/date/tests/gmmktime_basic.phpt # modified: ext/date/tests/mktime_error.phpt # modified: ext/date/tests/timezone_abbreviations_list_basic1.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic.phpt # modified: ext/filter/tests/007.phpt # modified: ext/filter/tests/008.phpt # modified: ext/filter/tests/010.phpt # modified: ext/hash/tests/hash_hkdf_edges.phpt # modified: ext/hash/tests/hash_hmac_file_basic.phpt # modified: ext/json/tests/json_last_error_msg_error.phpt # modified: ext/libxml/tests/bug76777.phpt # modified: ext/pcre/tests/preg_replace_error2.phpt # modified: ext/pcre/tests/split2.phpt # modified: ext/phar/tests/phar_isvalidpharfilename.phpt # modified: ext/phar/tests/pharfileinfo_chmod.phpt # modified: ext/phar/tests/pharfileinfo_setmetadata.phpt # modified: ext/phar/tests/stat2_5.3.phpt # modified: ext/posix/tests/posix_getgrgid_error.phpt # modified: ext/posix/tests/posix_getpgid_error.phpt # modified: ext/posix/tests/posix_getpwuid_error.phpt # modified: ext/posix/tests/posix_getsid_error.phpt # modified: ext/posix/tests/posix_initgroups.phpt # modified: ext/posix/tests/posix_kill_error.phpt # modified: ext/posix/tests/posix_strerror_error.phpt # modified: ext/reflection/tests/ReflectionClass_hasProperty_002.phpt # modified: ext/reflection/tests/ReflectionMethod_getClosure_error.phpt # modified: ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt # modified: ext/reflection/tests/ReflectionObject_getName_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_setValue_error.phpt # modified: ext/session/tests/bug79221.phpt # modified: ext/session/tests/session_cache_limiter_error.phpt # modified: ext/spl/tests/bug61347.phpt # modified: ext/spl/tests/fileobject_005.phpt # modified: ext/spl/tests/iterator_045.phpt # modified: ext/spl/tests/regexIterator_setMode_error.phpt # modified: ext/spl/tests/spl_heap_is_empty_basic.phpt # modified: ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt # modified: ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt # modified: ext/standard/tests/array/005.phpt # modified: ext/standard/tests/array/009.phpt # modified: ext/standard/tests/array/array_diff_assoc_error.phpt # modified: ext/standard/tests/array/array_diff_error.phpt # modified: ext/standard/tests/array/array_diff_key_error.phpt # modified: ext/standard/tests/array/array_filter.phpt # modified: ext/standard/tests/array/array_filter_variation10.phpt # modified: ext/standard/tests/array/array_key_exists_variation3.phpt # modified: ext/standard/tests/array/array_map_error.phpt # modified: ext/standard/tests/array/array_merge.phpt # modified: ext/standard/tests/array/array_push.phpt # modified: ext/standard/tests/array/array_slice.phpt # modified: ext/standard/tests/array/array_unshift.phpt # modified: ext/standard/tests/array/array_walk.phpt # modified: ext/standard/tests/array/array_walk_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive1.phpt # modified: ext/standard/tests/array/array_walk_recursive_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive_variation7.phpt # modified: ext/standard/tests/array/array_walk_variation7.phpt # modified: ext/standard/tests/array/uasort_variation8.phpt # modified: ext/standard/tests/array/usort_variation8.phpt # modified: ext/standard/tests/assert/assert_variation.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_1.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_2.phpt # modified: ext/standard/tests/file/basename.phpt # modified: ext/standard/tests/file/fscanf.phpt # modified: ext/standard/tests/file/fscanf_variation10.phpt # modified: ext/standard/tests/file/is_dir_variation3.phpt # modified: ext/standard/tests/file/is_executable_error.phpt # modified: ext/standard/tests/file/is_executable_variation3.phpt # modified: ext/standard/tests/file/is_file_variation3.phpt # modified: ext/standard/tests/file/is_readable_error.phpt # modified: ext/standard/tests/file/is_readable_variation3.phpt # modified: ext/standard/tests/file/is_uploaded_file_basic.phpt # modified: ext/standard/tests/file/is_writable_error.phpt # modified: ext/standard/tests/file/is_writable_variation3.phpt # modified: ext/standard/tests/file/move_uploaded_file_basic.phpt # modified: ext/standard/tests/general_functions/get_include_path_basic.phpt # modified: ext/standard/tests/general_functions/include_path.phpt # modified: ext/standard/tests/general_functions/is_array.phpt # modified: ext/standard/tests/general_functions/is_bool.phpt # modified: ext/standard/tests/general_functions/is_float_64bit.phpt # modified: ext/standard/tests/general_functions/is_int_64bit.phpt # modified: ext/standard/tests/general_functions/is_null.phpt # modified: ext/standard/tests/general_functions/is_numeric.phpt # modified: ext/standard/tests/general_functions/is_object.phpt # modified: ext/standard/tests/general_functions/is_scalar.phpt # modified: ext/standard/tests/general_functions/is_string.phpt # modified: ext/standard/tests/general_functions/ob_get_length_basic.phpt # modified: ext/standard/tests/general_functions/php_uname_error.phpt # modified: ext/standard/tests/general_functions/print_r.phpt # modified: ext/standard/tests/general_functions/print_r_64bit.phpt # modified: ext/standard/tests/general_functions/var_dump_64bit.phpt # modified: ext/standard/tests/general_functions/var_export-locale.phpt # modified: ext/standard/tests/image/image_type_to_extension.phpt # modified: ext/standard/tests/math/lcg_value_basic.phpt # modified: ext/standard/tests/network/inet.phpt # modified: ext/standard/tests/network/ip_x86_64.phpt # modified: ext/standard/tests/random/random_int.phpt # modified: ext/standard/tests/serialize/bug45706.phpt # modified: ext/standard/tests/streams/bug61115.phpt # modified: ext/standard/tests/streams/bug78662.phpt # modified: ext/standard/tests/streams/stream_set_timeout_error.phpt # modified: ext/standard/tests/strings/chr_error.phpt # modified: ext/standard/tests/strings/fprintf_error.phpt # modified: ext/standard/tests/strings/htmlentities24.phpt # modified: ext/standard/tests/strings/htmlspecialchars.phpt # modified: ext/standard/tests/strings/ltrim.phpt # modified: ext/standard/tests/strings/metaphone.phpt # modified: ext/standard/tests/strings/parse_str_basic1.phpt # modified: ext/standard/tests/strings/parse_str_basic3.phpt # modified: ext/standard/tests/strings/printf_error.phpt # modified: ext/standard/tests/strings/rtrim.phpt # modified: ext/standard/tests/strings/soundex.phpt # modified: ext/standard/tests/strings/sprintf_variation15.phpt # modified: ext/standard/tests/strings/sscanf_error.phpt # modified: ext/standard/tests/strings/str_ireplace.phpt # modified: ext/standard/tests/strings/stristr.phpt # modified: ext/standard/tests/strings/strrchr_variation1.phpt # modified: ext/standard/tests/strings/strrchr_variation2.phpt # modified: ext/standard/tests/strings/strtolower.phpt # modified: ext/standard/tests/strings/strtoupper1.phpt # modified: ext/standard/tests/strings/strval_error.phpt # modified: ext/standard/tests/strings/substr.phpt # modified: ext/standard/tests/strings/trim1.phpt # modified: ext/standard/tests/strings/vfprintf_error1.phpt # modified: ext/standard/tests/time/strptime_error.phpt # modified: ext/tokenizer/tests/001.phpt # modified: ext/xmlreader/tests/static.phpt # modified: ext/xmlwriter/tests/bug41326.phpt # modified: tests/output/stream_isatty_err.phpt # modified: tests/output/stream_isatty_in-err.phpt # modified: tests/output/stream_isatty_in-out-err.phpt # modified: tests/output/stream_isatty_in-out.phpt # modified: tests/output/stream_isatty_out-err.phpt # modified: tests/output/stream_isatty_out.phpt # # Changes not staged for commit: # modified: run-tests.php # # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. diff --git a/Zend/tests/005.phpt b/Zend/tests/005.phpt index f4abfb6c51..413f3205ad 100644 --- a/Zend/tests/005.phpt +++ b/Zend/tests/005.phpt @@ -13,7 +13,7 @@ var_dump(strcasecmp("01", "01")); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- int(0) int(-3) int(-1) diff --git a/Zend/tests/bug27669.phpt b/Zend/tests/bug27669.phpt index 7067c23e0d..9cd845e337 100644 --- a/Zend/tests/bug27669.phpt +++ b/Zend/tests/bug27669.phpt @@ -10,5 +10,5 @@ Bug #27669 (PHP 5 didn't support all possibilities for calling static methods dy $y[0] = 'hello'; A::{$y[0]}(); ?> ---EXPECTF-- +--EXPECT-- Hello World diff --git a/Zend/tests/bug51827.phpt b/Zend/tests/bug51827.phpt index 6c3d721716..1a2d9bdf39 100644 --- a/Zend/tests/bug51827.phpt +++ b/Zend/tests/bug51827.phpt @@ -13,7 +13,7 @@ register_shutdown_function('ABC'); register_shutdown_function('exploDe'); ?> ---EXPECTF-- +--EXPECT-- int(1) Fatal error: Uncaught ArgumentCountError: explode() expects at least 2 parameters, 0 given in [no active file]:0 diff --git a/Zend/tests/bug63206.phpt b/Zend/tests/bug63206.phpt index dc7bb1fd1d..6aba55eca1 100644 --- a/Zend/tests/bug63206.phpt +++ b/Zend/tests/bug63206.phpt @@ -22,7 +22,7 @@ set_error_handler(function() { $triggerNotice1++; $triggerNotice2++; ?> ---EXPECTF-- +--EXPECT-- Second handler Internal handler Second handler diff --git a/Zend/tests/bug63206_1.phpt b/Zend/tests/bug63206_1.phpt index f08f913824..d054211638 100644 --- a/Zend/tests/bug63206_1.phpt +++ b/Zend/tests/bug63206_1.phpt @@ -22,5 +22,5 @@ restore_error_handler(); $triggerNotice++; ?> ---EXPECTF-- +--EXPECT-- Second handler diff --git a/Zend/tests/bug63206_2.phpt b/Zend/tests/bug63206_2.phpt index 7a2bf38543..a4a67f577e 100644 --- a/Zend/tests/bug63206_2.phpt +++ b/Zend/tests/bug63206_2.phpt @@ -22,5 +22,5 @@ restore_exception_handler(); throw new Exception(); ?> ---EXPECTF-- +--EXPECT-- Second handler diff --git a/Zend/tests/incompat_ctx_user.phpt b/Zend/tests/incompat_ctx_user.phpt index 8c7461e4f7..3fe0456175 100644 --- a/Zend/tests/incompat_ctx_user.phpt +++ b/Zend/tests/incompat_ctx_user.phpt @@ -16,5 +16,5 @@ try { echo "Exception: " . $e->getMessage() . "\n"; } ?> ---EXPECTF-- +--EXPECT-- Exception: Non-static method A::foo() cannot be called statically diff --git a/Zend/tests/instanceof_001.phpt b/Zend/tests/instanceof_001.phpt index 27170420f0..02b7d59baf 100644 --- a/Zend/tests/instanceof_001.phpt +++ b/Zend/tests/instanceof_001.phpt @@ -17,7 +17,7 @@ var_dump($c[0] instanceof stdClass); var_dump(@$inexistent instanceof stdClass); ?> ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(true) diff --git a/Zend/tests/unexpected_ref_bug.phpt b/Zend/tests/unexpected_ref_bug.phpt index 0d78410d1a..172b1e6224 100644 --- a/Zend/tests/unexpected_ref_bug.phpt +++ b/Zend/tests/unexpected_ref_bug.phpt @@ -15,5 +15,5 @@ $my_var = str_repeat("A", 64); $data = call_user_func_array("str_replace", array(&$my_var, new Test(), "foo")); echo "Done.\n"; ?> ---EXPECTF-- +--EXPECT-- Done. diff --git a/ext/date/tests/012.phpt b/ext/date/tests/012.phpt index ee8faf1c00..0997ef047c 100644 --- a/ext/date/tests/012.phpt +++ b/ext/date/tests/012.phpt @@ -13,7 +13,7 @@ var_dump(date_isodate_set($dto, 2006, 100, 15)); var_dump($dto->format("Y/m/d H:i:s")); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- object(DateTime)#1 (3) { ["date"]=> string(26) "2006-01-23 00:00:00.000000" diff --git a/ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt b/ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt index 715ea63dc9..f96753b019 100644 --- a/ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt +++ b/ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt @@ -14,6 +14,6 @@ try { echo $exception->getMessage(), "\n"; } ?> ---EXPECTF-- +--EXPECT-- DatePeriod::__construct(): The recurrence count '0' is invalid. Needs to be > 0 DatePeriod::__construct(): The recurrence count '-1' is invalid. Needs to be > 0 diff --git a/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt b/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt index cb948e9df5..670dcb2ee3 100644 --- a/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt +++ b/ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt @@ -22,7 +22,7 @@ echo "\n-- Format a sample entry --\n"; var_dump( $abbr["acst"] ); ?> ---EXPECTF-- +--EXPECT-- *** Testing DateTimeZone::listAbbreviations() : basic functionality *** string(5) "array" int(144) diff --git a/ext/date/tests/date_parse_001.phpt b/ext/date/tests/date_parse_001.phpt index 0d58c1f8e9..36f8d9bbdd 100644 --- a/ext/date/tests/date_parse_001.phpt +++ b/ext/date/tests/date_parse_001.phpt @@ -14,7 +14,7 @@ Test basic date_parse() var_dump(date_parse("")); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- array(12) { ["year"]=> int(2006) diff --git a/ext/date/tests/date_parse_error.phpt b/ext/date/tests/date_parse_error.phpt index 24b0094c9e..6a5180fdfb 100644 --- a/ext/date/tests/date_parse_error.phpt +++ b/ext/date/tests/date_parse_error.phpt @@ -17,7 +17,7 @@ $invalid_date = "2OO9-02--27 10:00?00.5"; var_dump( date_parse($invalid_date) ); ?> ---EXPECTF-- +--EXPECT-- *** Testing date_parse() : error conditions *** -- Testing date_parse() function with unexpected characters in $date argument -- diff --git a/ext/date/tests/gmmktime_basic.phpt b/ext/date/tests/gmmktime_basic.phpt index 303bd9b010..f96b635c08 100644 --- a/ext/date/tests/gmmktime_basic.phpt +++ b/ext/date/tests/gmmktime_basic.phpt @@ -22,6 +22,6 @@ $year = 2008; var_dump( gmmktime($hour, $min, $sec, $mon, $day, $year) ); ?> ---EXPECTF-- +--EXPECT-- *** Testing gmmktime() : basic functionality *** int(1218182888) diff --git a/ext/date/tests/mktime_error.phpt b/ext/date/tests/mktime_error.phpt index e40e40f38d..8bdb61df7b 100644 --- a/ext/date/tests/mktime_error.phpt +++ b/ext/date/tests/mktime_error.phpt @@ -35,7 +35,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- *** Testing mktime() : error conditions *** -- Testing mktime() function with Zero arguments -- diff --git a/ext/date/tests/timezone_abbreviations_list_basic1.phpt b/ext/date/tests/timezone_abbreviations_list_basic1.phpt index b3bf7c84a1..0640b8a83d 100644 --- a/ext/date/tests/timezone_abbreviations_list_basic1.phpt +++ b/ext/date/tests/timezone_abbreviations_list_basic1.phpt @@ -22,7 +22,7 @@ echo "\n-- Format a sample entry --\n"; var_dump( $abbr["acst"] ); ?> ---EXPECTF-- +--EXPECT-- *** Testing timezone_abbreviations_list() : basic functionality *** string(5) "array" int(144) diff --git a/ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt b/ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt index 50a1559f58..855acaaed8 100644 --- a/ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt +++ b/ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt @@ -25,7 +25,7 @@ $finfo = new finfo( FILEINFO_NONE, $magicFile ); var_dump( $finfo->set_flags( FILEINFO_MIME ) ); ?> ---EXPECTF-- +--EXPECT-- *** Testing finfo_set_flags() : basic functionality *** bool(true) bool(true) diff --git a/ext/fileinfo/tests/finfo_set_flags_basic.phpt b/ext/fileinfo/tests/finfo_set_flags_basic.phpt index 95f2648f51..fe2921b560 100644 --- a/ext/fileinfo/tests/finfo_set_flags_basic.phpt +++ b/ext/fileinfo/tests/finfo_set_flags_basic.phpt @@ -25,7 +25,7 @@ $finfo = new finfo( FILEINFO_NONE, $magicFile ); var_dump( $finfo->set_flags( FILEINFO_MIME ) ); ?> ---EXPECTF-- +--EXPECT-- *** Testing finfo_set_flags() : basic functionality *** bool(true) bool(true) diff --git a/ext/filter/tests/007.phpt b/ext/filter/tests/007.phpt index dc966b8cc9..b5f285342b 100644 --- a/ext/filter/tests/007.phpt +++ b/ext/filter/tests/007.phpt @@ -23,7 +23,7 @@ var_dump(filter_has_var(INPUT_POST, "")); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(false) diff --git a/ext/filter/tests/008.phpt b/ext/filter/tests/008.phpt index 75e0968c62..1d4d64529d 100644 --- a/ext/filter/tests/008.phpt +++ b/ext/filter/tests/008.phpt @@ -9,7 +9,7 @@ var_dump(filter_list()); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- array(21) { [0]=> string(3) "int" diff --git a/ext/filter/tests/010.phpt b/ext/filter/tests/010.phpt index 14f8db01af..46b6044668 100644 --- a/ext/filter/tests/010.phpt +++ b/ext/filter/tests/010.phpt @@ -17,7 +17,7 @@ var_dump(filter_var(1, 0, array())); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- array(7) { [0]=> int(1) diff --git a/ext/hash/tests/hash_hkdf_edges.phpt b/ext/hash/tests/hash_hkdf_edges.phpt index cee86ae82e..ceb21631d1 100644 --- a/ext/hash/tests/hash_hkdf_edges.phpt +++ b/ext/hash/tests/hash_hkdf_edges.phpt @@ -25,7 +25,7 @@ catch (\Error $e) { } ?> ---EXPECTF-- +--EXPECT-- *** Testing hash_hkdf(): edge cases *** Length < digestSize: 98b16391063ece Length % digestSize != 0: 98b16391063ecee006a3ca8ee5776b1e5f diff --git a/ext/hash/tests/hash_hmac_file_basic.phpt b/ext/hash/tests/hash_hmac_file_basic.phpt index 4569c46c35..11b9d05738 100644 --- a/ext/hash/tests/hash_hmac_file_basic.phpt +++ b/ext/hash/tests/hash_hmac_file_basic.phpt @@ -57,7 +57,7 @@ echo "sha256(raw): " . bin2hex(hash_hmac_file('sha256', $file, $key, TRUE)). "\n unlink($file); ?> ---EXPECTF-- +--EXPECT-- *** Testing hash_hmac_file() : basic functionality *** gost: 94c39a40d5db852a8dc3d24e37eebf2d53e3d711457c59cd02b614f792a9d918 haval128,3: f1cea637451097d790354a86de3f54a3 diff --git a/ext/json/tests/json_last_error_msg_error.phpt b/ext/json/tests/json_last_error_msg_error.phpt index 75b06f72a2..0eb55c4c66 100644 --- a/ext/json/tests/json_last_error_msg_error.phpt +++ b/ext/json/tests/json_last_error_msg_error.phpt @@ -14,6 +14,6 @@ try { } ?> ---EXPECTF-- +--EXPECT-- string(8) "No error" json_last_error_msg() expects exactly 0 parameters, 1 given diff --git a/ext/libxml/tests/bug76777.phpt b/ext/libxml/tests/bug76777.phpt index 5e15024b81..c50e52203f 100644 --- a/ext/libxml/tests/bug76777.phpt +++ b/ext/libxml/tests/bug76777.phpt @@ -29,7 +29,7 @@ libxml_set_external_entity_loader(function($p,$s,$c) { $dom=new DOMDocument($xml); $dom->schemaValidateSource($xsd); ?> ---EXPECTF-- +--EXPECT-- NULL string(15) "nonexistent.xsd" array(4) { diff --git a/ext/pcre/tests/preg_replace_error2.phpt b/ext/pcre/tests/preg_replace_error2.phpt index 2401e0bb49..d7748bf954 100644 --- a/ext/pcre/tests/preg_replace_error2.phpt +++ b/ext/pcre/tests/preg_replace_error2.phpt @@ -29,7 +29,7 @@ try { } echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing preg_replace() : error conditions *** Arg value is: this is a string diff --git a/ext/pcre/tests/split2.phpt b/ext/pcre/tests/split2.phpt index 5fafee3b87..3d9714a420 100644 --- a/ext/pcre/tests/split2.phpt +++ b/ext/pcre/tests/split2.phpt @@ -19,7 +19,7 @@ var_dump(preg_split('/(\d*)/', 'ab2c3u')); var_dump(preg_last_error() == PREG_RECURSION_LIMIT_ERROR); ?> ---EXPECTF-- +--EXPECT-- array(15) { [0]=> string(0) "" diff --git a/ext/phar/tests/phar_isvalidpharfilename.phpt b/ext/phar/tests/phar_isvalidpharfilename.phpt index 8b9088b9b3..d44c0603e9 100644 --- a/ext/phar/tests/phar_isvalidpharfilename.phpt +++ b/ext/phar/tests/phar_isvalidpharfilename.phpt @@ -72,7 +72,7 @@ var_dump(Phar::isValidPharFilename('dir.phar.php', false)); --CLEAN-- <?php rmdir(__DIR__ . '/.phar'); ---EXPECTF-- +--EXPECT-- bool(false) bool(false) bool(false) diff --git a/ext/phar/tests/pharfileinfo_chmod.phpt b/ext/phar/tests/pharfileinfo_chmod.phpt index 822b5ac628..26d7257602 100644 --- a/ext/phar/tests/pharfileinfo_chmod.phpt +++ b/ext/phar/tests/pharfileinfo_chmod.phpt @@ -24,5 +24,5 @@ $b->chmod(0666); ?> --CLEAN-- <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar'); ?> ---EXPECTF-- +--EXPECT-- Phar entry "a" is a temporary directory (not an actual entry in the archive), cannot chmod diff --git a/ext/phar/tests/pharfileinfo_setmetadata.phpt b/ext/phar/tests/pharfileinfo_setmetadata.phpt index 38e23f706d..8b4385ad5f 100644 --- a/ext/phar/tests/pharfileinfo_setmetadata.phpt +++ b/ext/phar/tests/pharfileinfo_setmetadata.phpt @@ -40,7 +40,7 @@ echo $e->getMessage(), "\n"; --CLEAN-- <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar'); ?> <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?> ---EXPECTF-- +--EXPECT-- Phar entry is a temporary directory (not an actual entry in the archive), cannot set metadata Phar entry is a temporary directory (not an actual entry in the archive), cannot delete metadata Write operations disabled by the php.ini setting phar.readonly diff --git a/ext/phar/tests/stat2_5.3.phpt b/ext/phar/tests/stat2_5.3.phpt index 19acc3ba99..9e9e158602 100644 --- a/ext/phar/tests/stat2_5.3.phpt +++ b/ext/phar/tests/stat2_5.3.phpt @@ -35,7 +35,7 @@ include $fname3; --CLEAN-- <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.phar.tar'); ?> <?php unlink(__DIR__ . '/' . basename(__FILE__, '.clean.php') . '.tar'); ?> ---EXPECTF-- +--EXPECT-- bool(true) is_link bool(false) diff --git a/ext/posix/tests/posix_getgrgid_error.phpt b/ext/posix/tests/posix_getgrgid_error.phpt index e9dbe2a6ce..36ffcf4952 100644 --- a/ext/posix/tests/posix_getgrgid_error.phpt +++ b/ext/posix/tests/posix_getgrgid_error.phpt @@ -20,7 +20,7 @@ var_dump( posix_getgrgid($gid)); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing posix_getgrgid() : error conditions *** -- Testing posix_getgrgid() function with a negative group id -- diff --git a/ext/posix/tests/posix_getpgid_error.phpt b/ext/posix/tests/posix_getpgid_error.phpt index 19e306b2ee..85f12d4917 100644 --- a/ext/posix/tests/posix_getpgid_error.phpt +++ b/ext/posix/tests/posix_getpgid_error.phpt @@ -22,7 +22,7 @@ var_dump( posix_getpgid($pid) ); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing posix_getpgid() : error conditions *** -- Testing posix_getpgid() with negative pid -- diff --git a/ext/posix/tests/posix_getpwuid_error.phpt b/ext/posix/tests/posix_getpwuid_error.phpt index 365033b689..b4ec515e74 100644 --- a/ext/posix/tests/posix_getpwuid_error.phpt +++ b/ext/posix/tests/posix_getpwuid_error.phpt @@ -20,7 +20,7 @@ var_dump( posix_getpwuid($uid) ); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing posix_getpwuid() : error conditions *** -- Testing posix_getpwuid() function negative uid -- diff --git a/ext/posix/tests/posix_getsid_error.phpt b/ext/posix/tests/posix_getsid_error.phpt index 8e05a23496..08080230aa 100644 --- a/ext/posix/tests/posix_getsid_error.phpt +++ b/ext/posix/tests/posix_getsid_error.phpt @@ -15,5 +15,5 @@ PHP Testfest Berlin 2009-05-10 <?php var_dump( posix_getsid(-1) ); ?> ---EXPECTF-- +--EXPECT-- bool(false) diff --git a/ext/posix/tests/posix_initgroups.phpt b/ext/posix/tests/posix_initgroups.phpt index 20cf8cef8b..c77acfe3a4 100644 --- a/ext/posix/tests/posix_initgroups.phpt +++ b/ext/posix/tests/posix_initgroups.phpt @@ -11,5 +11,5 @@ if (!function_exists('posix_initgroups')) die('skip posix_initgroups() not found var_dump(posix_initgroups(NULL, NULL)); ?> ---EXPECTF-- +--EXPECT-- bool(false) diff --git a/ext/posix/tests/posix_kill_error.phpt b/ext/posix/tests/posix_kill_error.phpt index 89474c4994..ea9b4f45dc 100644 --- a/ext/posix/tests/posix_kill_error.phpt +++ b/ext/posix/tests/posix_kill_error.phpt @@ -28,7 +28,7 @@ var_dump( posix_kill($pid, 999) ); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing posix_kill() : error conditions *** -- Testing posix_kill() function with invalid signal -- diff --git a/ext/posix/tests/posix_strerror_error.phpt b/ext/posix/tests/posix_strerror_error.phpt index 60b096656a..2792ff5b3b 100644 --- a/ext/posix/tests/posix_strerror_error.phpt +++ b/ext/posix/tests/posix_strerror_error.phpt @@ -20,7 +20,7 @@ echo gettype( posix_strerror($errno) )."\n"; echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing posix_strerror() : error conditions *** -- Testing posix_strerror() function with invalid error number -- diff --git a/ext/reflection/tests/ReflectionClass_hasProperty_002.phpt b/ext/reflection/tests/ReflectionClass_hasProperty_002.phpt index a135939052..607fead65c 100644 --- a/ext/reflection/tests/ReflectionClass_hasProperty_002.phpt +++ b/ext/reflection/tests/ReflectionClass_hasProperty_002.phpt @@ -16,7 +16,7 @@ var_dump($rc->hasProperty(1)); var_dump($rc->hasProperty(1.5)); var_dump($rc->hasProperty(true)); ?> ---EXPECTF-- +--EXPECT-- Check invalid params: bool(false) bool(false) diff --git a/ext/reflection/tests/ReflectionMethod_getClosure_error.phpt b/ext/reflection/tests/ReflectionMethod_getClosure_error.phpt index 728ddf9265..7e45eec411 100644 --- a/ext/reflection/tests/ReflectionMethod_getClosure_error.phpt +++ b/ext/reflection/tests/ReflectionMethod_getClosure_error.phpt @@ -43,7 +43,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- *** Testing ReflectionMethod::getClosure() : error conditions *** -- Testing ReflectionMethod::getClosure() function with invalid object -- diff --git a/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt b/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt index 113cabbbeb..c3bab48d6f 100644 --- a/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt +++ b/ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt @@ -69,7 +69,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- Non-instance: string(72) "Given object is not an instance of the class this method was declared in" diff --git a/ext/reflection/tests/ReflectionObject_getName_basic.phpt b/ext/reflection/tests/ReflectionObject_getName_basic.phpt index 1885695cb1..94ad1e2c7b 100644 --- a/ext/reflection/tests/ReflectionObject_getName_basic.phpt +++ b/ext/reflection/tests/ReflectionObject_getName_basic.phpt @@ -15,7 +15,7 @@ $r3 = new ReflectionObject($r2); var_dump($r3->getName()); ?> ---EXPECTF-- +--EXPECT-- string(8) "stdClass" string(1) "C" string(16) "ReflectionObject" diff --git a/ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt b/ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt index 1472615178..7defcb76e0 100644 --- a/ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt +++ b/ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt @@ -25,7 +25,7 @@ reflectProperty("TestClass", "prot"); reflectProperty("TestClass", "priv"); ?> ---EXPECTF-- +--EXPECT-- ********************************** Reflecting on property TestClass::pub diff --git a/ext/reflection/tests/ReflectionProperty_setValue_error.phpt b/ext/reflection/tests/ReflectionProperty_setValue_error.phpt index f58590b3ea..1f0c2b5f2b 100644 --- a/ext/reflection/tests/ReflectionProperty_setValue_error.phpt +++ b/ext/reflection/tests/ReflectionProperty_setValue_error.phpt @@ -32,7 +32,7 @@ $propInfo = new ReflectionProperty('TestClass', 'pub2'); var_dump($propInfo->setValue($instanceWithNoProperties, "NewValue")); var_dump($instanceWithNoProperties->pub2); ?> ---EXPECTF-- +--EXPECT-- Protected property: Cannot access non-public member TestClass::$prot diff --git a/ext/session/tests/bug79221.phpt b/ext/session/tests/bug79221.phpt index b0972c4697..0813457035 100644 --- a/ext/session/tests/bug79221.phpt +++ b/ext/session/tests/bug79221.phpt @@ -40,6 +40,6 @@ session_start(); var_dump($_SESSION); session_destroy(); ---EXPECTF-- +--EXPECT-- array(0) { } diff --git a/ext/session/tests/session_cache_limiter_error.phpt b/ext/session/tests/session_cache_limiter_error.phpt index 284649e277..d291d531c0 100644 --- a/ext/session/tests/session_cache_limiter_error.phpt +++ b/ext/session/tests/session_cache_limiter_error.phpt @@ -89,7 +89,7 @@ fclose($fp); echo "Done"; ob_end_flush(); ?> ---EXPECTF-- +--EXPECT-- *** Testing session_cache_limiter() : error functionality *** -- Iteration 1 -- diff --git a/ext/spl/tests/bug61347.phpt b/ext/spl/tests/bug61347.phpt index b83f48f7ff..4b4f9eaedf 100644 --- a/ext/spl/tests/bug61347.phpt +++ b/ext/spl/tests/bug61347.phpt @@ -21,7 +21,7 @@ var_dump(isset($b[37])); //true var_dump(isset($b['no_exists'])); //false var_dump(empty($b['b'])); //true var_dump(empty($b[37])); //true ---EXPECTF-- +--EXPECT-- bool(false) bool(false) bool(false) diff --git a/ext/spl/tests/fileobject_005.phpt b/ext/spl/tests/fileobject_005.phpt index e26a8d7aea..cce4a7d6a6 100644 --- a/ext/spl/tests/fileobject_005.phpt +++ b/ext/spl/tests/fileobject_005.phpt @@ -27,6 +27,6 @@ $fo->fwrite("blahlubba"); $path = __DIR__.DIRECTORY_SEPARATOR.'fileobject_005.txt'; unlink($path); ?> ---EXPECTF-- +--EXPECT-- bool(true) string(4) "blah" diff --git a/ext/spl/tests/iterator_045.phpt b/ext/spl/tests/iterator_045.phpt index 63d78cc78e..e245b95688 100644 --- a/ext/spl/tests/iterator_045.phpt +++ b/ext/spl/tests/iterator_045.phpt @@ -88,7 +88,7 @@ $it->testUnset($unsets); $it->show(); ?> ---EXPECTF-- +--EXPECT-- Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct) Exception: MyCachingIterator does not use a full cache (see CachingIterator::__construct) MyCachingIterator::testSet() diff --git a/ext/spl/tests/regexIterator_setMode_error.phpt b/ext/spl/tests/regexIterator_setMode_error.phpt index 4816896d8a..3b0eaf1d66 100644 --- a/ext/spl/tests/regexIterator_setMode_error.phpt +++ b/ext/spl/tests/regexIterator_setMode_error.phpt @@ -18,7 +18,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- int(0) string(14) "Illegal mode 7" int(0) diff --git a/ext/spl/tests/spl_heap_is_empty_basic.phpt b/ext/spl/tests/spl_heap_is_empty_basic.phpt index 4a90734ad4..abf64f8d9d 100644 --- a/ext/spl/tests/spl_heap_is_empty_basic.phpt +++ b/ext/spl/tests/spl_heap_is_empty_basic.phpt @@ -22,7 +22,7 @@ var_dump($heap->isEmpty()); $heap->extract(); var_dump($heap->isEmpty()); ?> ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(true) diff --git a/ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt b/ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt index 994c67e0c3..459beeca53 100644 --- a/ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt +++ b/ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt @@ -69,7 +69,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- int(1) Unable to prepare statement: 23, not authorized bool(true) diff --git a/ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt b/ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt index 3f9fe84130..9a893c590d 100644 --- a/ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt +++ b/ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt @@ -44,7 +44,7 @@ var_dump($db->close()); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- Getting expanded SQL statement string(21) "SELECT 42, 'php', 43;" Execute statement diff --git a/ext/standard/tests/array/005.phpt b/ext/standard/tests/array/005.phpt index c51e98a67b..ed9f0458c4 100644 --- a/ext/standard/tests/array/005.phpt +++ b/ext/standard/tests/array/005.phpt @@ -69,7 +69,7 @@ var_dump( current($mixed_array[1]) ); echo"Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing Error Conditions *** NULL diff --git a/ext/standard/tests/array/009.phpt b/ext/standard/tests/array/009.phpt index c62be0d27c..fc10d293ff 100644 --- a/ext/standard/tests/array/009.phpt +++ b/ext/standard/tests/array/009.phpt @@ -71,7 +71,7 @@ foreach ($varient_arrays as $sub_array ) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing basic operations *** -- Iteration 1 -- int(0) diff --git a/ext/standard/tests/array/array_diff_assoc_error.phpt b/ext/standard/tests/array/array_diff_assoc_error.phpt index 6aa7864ee9..69015289e2 100644 --- a/ext/standard/tests/array/array_diff_assoc_error.phpt +++ b/ext/standard/tests/array/array_diff_assoc_error.phpt @@ -33,7 +33,7 @@ try { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_diff_assoc() : error conditions *** -- Testing array_diff_assoc() function with zero arguments -- diff --git a/ext/standard/tests/array/array_diff_error.phpt b/ext/standard/tests/array/array_diff_error.phpt index d269f010b8..889c5ce1b2 100644 --- a/ext/standard/tests/array/array_diff_error.phpt +++ b/ext/standard/tests/array/array_diff_error.phpt @@ -33,7 +33,7 @@ try { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_diff() : error conditions *** -- Testing array_diff() function with zero arguments -- diff --git a/ext/standard/tests/array/array_diff_key_error.phpt b/ext/standard/tests/array/array_diff_key_error.phpt index e957abce1c..80ff5728fe 100644 --- a/ext/standard/tests/array/array_diff_key_error.phpt +++ b/ext/standard/tests/array/array_diff_key_error.phpt @@ -28,7 +28,7 @@ try { echo $e->getMessage(), "\n"; } ?> ---EXPECTF-- +--EXPECT-- *** Testing array_diff_key() : error conditions *** -- Testing array_diff_key() function with less than expected no. of arguments -- diff --git a/ext/standard/tests/array/array_filter.phpt b/ext/standard/tests/array/array_filter.phpt index a1b18bd234..2cb21ca609 100644 --- a/ext/standard/tests/array/array_filter.phpt +++ b/ext/standard/tests/array/array_filter.phpt @@ -28,7 +28,7 @@ var_dump(array_filter($array3, "even")); var_dump(array_filter(array())); ?> ---EXPECTF-- +--EXPECT-- Odd : array(3) { ["a"]=> diff --git a/ext/standard/tests/array/array_filter_variation10.phpt b/ext/standard/tests/array/array_filter_variation10.phpt index 265daf1fb4..ff88d7a7f8 100644 --- a/ext/standard/tests/array/array_filter_variation10.phpt +++ b/ext/standard/tests/array/array_filter_variation10.phpt @@ -56,7 +56,7 @@ try { echo "Done" ?> ---EXPECTF-- +--EXPECT-- *** Testing array_filter() : usage variations - using array keys in 'callback' *** 0 = 0 1 = 1 diff --git a/ext/standard/tests/array/array_key_exists_variation3.phpt b/ext/standard/tests/array/array_key_exists_variation3.phpt index 4a6409bb1f..ef6cf45139 100644 --- a/ext/standard/tests/array/array_key_exists_variation3.phpt +++ b/ext/standard/tests/array/array_key_exists_variation3.phpt @@ -34,7 +34,7 @@ foreach($keys as $key) { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_key_exists() : usage variations *** -- Iteration 1 -- diff --git a/ext/standard/tests/array/array_map_error.phpt b/ext/standard/tests/array/array_map_error.phpt index 4739bbf663..b41871e1c4 100644 --- a/ext/standard/tests/array/array_map_error.phpt +++ b/ext/standard/tests/array/array_map_error.phpt @@ -38,7 +38,7 @@ var_dump( array_map('callback2', $arr1, $arr2, $arr3) ); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_map() : error conditions *** -- Testing array_map() function with one less than expected no. of arguments -- diff --git a/ext/standard/tests/array/array_merge.phpt b/ext/standard/tests/array/array_merge.phpt index 08ecbf7147..75007779fa 100644 --- a/ext/standard/tests/array/array_merge.phpt +++ b/ext/standard/tests/array/array_merge.phpt @@ -83,7 +83,7 @@ var_dump(array_merge()); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_merge() basic functionality *** --- Iteration 0 --- diff --git a/ext/standard/tests/array/array_push.phpt b/ext/standard/tests/array/array_push.phpt index 227a520ac1..78076b8fc4 100644 --- a/ext/standard/tests/array/array_push.phpt +++ b/ext/standard/tests/array/array_push.phpt @@ -60,7 +60,7 @@ var_dump( $mixed_array[2] ); echo"\nDone"; ?> ---EXPECTF-- +--EXPECT-- *** Testing Edge Conditions *** int(11) int(1) diff --git a/ext/standard/tests/array/array_slice.phpt b/ext/standard/tests/array/array_slice.phpt index d19f5195d6..a76277883a 100644 --- a/ext/standard/tests/array/array_slice.phpt +++ b/ext/standard/tests/array/array_slice.phpt @@ -68,7 +68,7 @@ foreach ($var_array as $sub_array) var_dump (array_slice($var_array[2], -3, -2, false) ); ?> ---EXPECTF-- +--EXPECT-- *** Iteration 1 *** *** Variation with first two Arguments *** diff --git a/ext/standard/tests/array/array_unshift.phpt b/ext/standard/tests/array/array_unshift.phpt index 9ebe83391e..265de4e846 100644 --- a/ext/standard/tests/array/array_unshift.phpt +++ b/ext/standard/tests/array/array_unshift.phpt @@ -12,7 +12,7 @@ var_dump($a); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- int(1) array(1) { [0]=> diff --git a/ext/standard/tests/array/array_walk.phpt b/ext/standard/tests/array/array_walk.phpt index 1f5457c9f7..151c9c70d0 100644 --- a/ext/standard/tests/array/array_walk.phpt +++ b/ext/standard/tests/array/array_walk.phpt @@ -24,7 +24,7 @@ try { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- int(1) int(0) string(4) "data" diff --git a/ext/standard/tests/array/array_walk_error2.phpt b/ext/standard/tests/array/array_walk_error2.phpt index dfc95d3af8..e5aeadcdc0 100644 --- a/ext/standard/tests/array/array_walk_error2.phpt +++ b/ext/standard/tests/array/array_walk_error2.phpt @@ -54,7 +54,7 @@ try { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_walk() : error conditions - callback parameters *** Exception: Too few arguments to function callback1(), 2 passed and exactly 3 expected Exception: Too few arguments to function callback2(), 3 passed and exactly 4 expected diff --git a/ext/standard/tests/array/array_walk_recursive1.phpt b/ext/standard/tests/array/array_walk_recursive1.phpt index 472cb1032d..d4d3e7d8eb 100644 --- a/ext/standard/tests/array/array_walk_recursive1.phpt +++ b/ext/standard/tests/array/array_walk_recursive1.phpt @@ -24,7 +24,7 @@ try { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- int(1) int(0) string(4) "data" diff --git a/ext/standard/tests/array/array_walk_recursive_error2.phpt b/ext/standard/tests/array/array_walk_recursive_error2.phpt index f1686d7acd..2509c95f60 100644 --- a/ext/standard/tests/array/array_walk_recursive_error2.phpt +++ b/ext/standard/tests/array/array_walk_recursive_error2.phpt @@ -54,7 +54,7 @@ try { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing array_walk_recursive() : error conditions - callback parameters *** Exception: Too few arguments to function callback1(), 2 passed and exactly 3 expected Exception: Too few arguments to function callback2(), 3 passed and exactly 4 expected diff --git a/ext/standard/tests/array/array_walk_recursive_variation7.phpt b/ext/standard/tests/array/array_walk_recursive_variation7.phpt index a0c159d71d..a1cbdad2bd 100644 --- a/ext/standard/tests/array/array_walk_recursive_variation7.phpt +++ b/ext/standard/tests/array/array_walk_recursive_variation7.phpt @@ -33,7 +33,7 @@ echo "-- Anonymous function with null argument --\n"; var_dump( array_walk_recursive( $input, function() { echo "1\n"; })); echo "Done" ?> ---EXPECTF-- +--EXPECT-- *** Testing array_walk_recursive() : anonymous function as callback *** -- Anonymous function with one argument -- int(2) diff --git a/ext/standard/tests/array/array_walk_variation7.phpt b/ext/standard/tests/array/array_walk_variation7.phpt index 0354782eda..3689f8a798 100644 --- a/ext/standard/tests/array/array_walk_variation7.phpt +++ b/ext/standard/tests/array/array_walk_variation7.phpt @@ -33,7 +33,7 @@ echo "-- Anonymous function with null argument --\n"; var_dump( array_walk( $input, function() { echo "1\n"; })); echo "Done" ?> ---EXPECTF-- +--EXPECT-- *** Testing array_walk() : anonymous function as callback *** -- Anonymous function with one argument -- int(2) diff --git a/ext/standard/tests/array/uasort_variation8.phpt b/ext/standard/tests/array/uasort_variation8.phpt index d27cd569c0..b6abdeaef3 100644 --- a/ext/standard/tests/array/uasort_variation8.phpt +++ b/ext/standard/tests/array/uasort_variation8.phpt @@ -29,7 +29,7 @@ var_dump($array_arg); echo "Done" ?> ---EXPECTF-- +--EXPECT-- *** Testing uasort() : built in function as 'cmp_function' *** -- Testing uasort() with built-in 'cmp_function': strcasecmp() -- bool(true) diff --git a/ext/standard/tests/array/usort_variation8.phpt b/ext/standard/tests/array/usort_variation8.phpt index 55ff362d41..4a750ccefa 100644 --- a/ext/standard/tests/array/usort_variation8.phpt +++ b/ext/standard/tests/array/usort_variation8.phpt @@ -31,7 +31,7 @@ var_dump( usort($temp_array2, 'strcmp') ); var_dump($temp_array2); ?> ---EXPECTF-- +--EXPECT-- *** Testing usort() : usage variation *** -- Testing usort() with built-in 'cmp_function': strcasecmp() -- diff --git a/ext/standard/tests/assert/assert_variation.phpt b/ext/standard/tests/assert/assert_variation.phpt index a28ea58d5a..7b550b36d1 100644 --- a/ext/standard/tests/assert/assert_variation.phpt +++ b/ext/standard/tests/assert/assert_variation.phpt @@ -67,7 +67,7 @@ var_dump($rao=assert_options(ASSERT_CALLBACK)); echo "ini.get(\"assert.callback\") => [".ini_get("assert.callback")."]\n\n"; var_dump($r2=assert(0 != 0)); echo"\n"; ---EXPECTF-- +--EXPECT-- Initial values: assert_options(ASSERT_CALLBACK) => [f1] Initial values: ini.get("assert.callback") => [f1] f1 called diff --git a/ext/standard/tests/file/auto_detect_line_endings_1.phpt b/ext/standard/tests/file/auto_detect_line_endings_1.phpt index c79082ecdb..5a4ff0a10f 100644 --- a/ext/standard/tests/file/auto_detect_line_endings_1.phpt +++ b/ext/standard/tests/file/auto_detect_line_endings_1.phpt @@ -15,7 +15,7 @@ var_dump(fgets(STDIN)); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(1) "1" string(8) "fooBar1 " string(8) "fooBar2 " diff --git a/ext/standard/tests/file/auto_detect_line_endings_2.phpt b/ext/standard/tests/file/auto_detect_line_endings_2.phpt index f33a055e08..3994f1ee3b 100644 --- a/ext/standard/tests/file/auto_detect_line_endings_2.phpt +++ b/ext/standard/tests/file/auto_detect_line_endings_2.phpt @@ -16,7 +16,7 @@ var_dump(fgets($stdin)); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(2) "on" string(8) "fooBar1 " string(8) "fooBar2 " diff --git a/ext/standard/tests/file/basename.phpt b/ext/standard/tests/file/basename.phpt index 8352f4da4b..7a98e833a3 100644 --- a/ext/standard/tests/file/basename.phpt +++ b/ext/standard/tests/file/basename.phpt @@ -138,7 +138,7 @@ check_basename( $file_path_variations ); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing basic operations *** --Iteration 1-- diff --git a/ext/standard/tests/file/fscanf.phpt b/ext/standard/tests/file/fscanf.phpt index 6605b795ff..4acadc6169 100644 --- a/ext/standard/tests/file/fscanf.phpt +++ b/ext/standard/tests/file/fscanf.phpt @@ -75,7 +75,7 @@ echo "Done\n"; $filename = __DIR__."/fscanf.dat"; unlink($filename); ?> ---EXPECTF-- +--EXPECT-- int(0) NULL int(1) diff --git a/ext/standard/tests/file/fscanf_variation10.phpt b/ext/standard/tests/file/fscanf_variation10.phpt index f657c07005..507ed8e22d 100644 --- a/ext/standard/tests/file/fscanf_variation10.phpt +++ b/ext/standard/tests/file/fscanf_variation10.phpt @@ -82,7 +82,7 @@ $file_path = __DIR__; $filename = "$file_path/fscanf_variation10.tmp"; unlink($filename); ?> ---EXPECTF-- +--EXPECT-- *** Test fscanf(): different float format types with resource *** -- iteration 1 -- diff --git a/ext/standard/tests/file/is_dir_variation3.phpt b/ext/standard/tests/file/is_dir_variation3.phpt index e82d9ae034..1cf1f25138 100644 --- a/ext/standard/tests/file/is_dir_variation3.phpt +++ b/ext/standard/tests/file/is_dir_variation3.phpt @@ -30,7 +30,7 @@ foreach($dirnames as $dirname) { var_dump( is_dir($dirname) ); } ?> ---EXPECTF-- +--EXPECT-- *** Testing is_dir() with Invalid arguments: expected bool(false) *** bool(false) bool(false) diff --git a/ext/standard/tests/file/is_executable_error.phpt b/ext/standard/tests/file/is_executable_error.phpt index ad90d64435..e77ca86349 100644 --- a/ext/standard/tests/file/is_executable_error.phpt +++ b/ext/standard/tests/file/is_executable_error.phpt @@ -10,7 +10,7 @@ echo "\n*** Testing is_exceutable() on non-existent directory ***\n"; var_dump( is_executable(__DIR__."/is_executable") ); echo "Done\n"; ---EXPECTF-- +--EXPECT-- *** Testing is_exceutable() on non-existent directory *** bool(false) Done diff --git a/ext/standard/tests/file/is_executable_variation3.phpt b/ext/standard/tests/file/is_executable_variation3.phpt index 92ad3320d3..802dbfdf7e 100644 --- a/ext/standard/tests/file/is_executable_variation3.phpt +++ b/ext/standard/tests/file/is_executable_variation3.phpt @@ -40,7 +40,7 @@ foreach( $invalid_files as $invalid_file ) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_executable(): usage variations *** *** Testing is_executable() on invalid files *** diff --git a/ext/standard/tests/file/is_file_variation3.phpt b/ext/standard/tests/file/is_file_variation3.phpt index d33b01dfb3..5bdb63e37c 100644 --- a/ext/standard/tests/file/is_file_variation3.phpt +++ b/ext/standard/tests/file/is_file_variation3.phpt @@ -39,7 +39,7 @@ foreach([ clearstatcache(); } ?> ---EXPECTF-- +--EXPECT-- float(-2.34555): 0 string(1) " ": 0 string(0) "": 0 diff --git a/ext/standard/tests/file/is_readable_error.phpt b/ext/standard/tests/file/is_readable_error.phpt index 1520eb4d20..c8a6c34fa0 100644 --- a/ext/standard/tests/file/is_readable_error.phpt +++ b/ext/standard/tests/file/is_readable_error.phpt @@ -11,7 +11,7 @@ var_dump( is_readable(__DIR__."/is_readable.tmp") ); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_readable() on non-existent file *** bool(false) Done diff --git a/ext/standard/tests/file/is_readable_variation3.phpt b/ext/standard/tests/file/is_readable_variation3.phpt index 97c794d1b7..f7eebdc2b8 100644 --- a/ext/standard/tests/file/is_readable_variation3.phpt +++ b/ext/standard/tests/file/is_readable_variation3.phpt @@ -37,7 +37,7 @@ foreach( $misc_files as $misc_file ) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_readable(): usage variations *** *** Testing is_readable() on miscellaneous filenames *** diff --git a/ext/standard/tests/file/is_uploaded_file_basic.phpt b/ext/standard/tests/file/is_uploaded_file_basic.phpt index d053244a79..3e5bf6320c 100644 --- a/ext/standard/tests/file/is_uploaded_file_basic.phpt +++ b/ext/standard/tests/file/is_uploaded_file_basic.phpt @@ -30,7 +30,7 @@ var_dump(is_uploaded_file('random_filename.txt')); var_dump(is_uploaded_file('__FILE__')); ?> ---EXPECTF-- +--EXPECT-- bool(true) bool(false) bool(false) diff --git a/ext/standard/tests/file/is_writable_error.phpt b/ext/standard/tests/file/is_writable_error.phpt index e2a38412cd..f01e69b13d 100644 --- a/ext/standard/tests/file/is_writable_error.phpt +++ b/ext/standard/tests/file/is_writable_error.phpt @@ -14,7 +14,7 @@ var_dump( is_writeable(__DIR__."/is_writable") ); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_writable() on non-existent file *** bool(false) bool(false) diff --git a/ext/standard/tests/file/is_writable_variation3.phpt b/ext/standard/tests/file/is_writable_variation3.phpt index c5843a5abf..167d874ac2 100644 --- a/ext/standard/tests/file/is_writable_variation3.phpt +++ b/ext/standard/tests/file/is_writable_variation3.phpt @@ -37,7 +37,7 @@ foreach( $misc_files as $misc_file ) { clearstatcache(); } ?> ---EXPECTF-- +--EXPECT-- *** Testing is_writable(): usage variations *** *** Testing is_writable() with invalid filenames *** diff --git a/ext/standard/tests/file/move_uploaded_file_basic.phpt b/ext/standard/tests/file/move_uploaded_file_basic.phpt index 7af8748fe2..b80c052691 100644 --- a/ext/standard/tests/file/move_uploaded_file_basic.phpt +++ b/ext/standard/tests/file/move_uploaded_file_basic.phpt @@ -50,7 +50,7 @@ var_dump(move_uploaded_file($_FILES['file2']['tmp_name'], $destination4)); unlink($destination4); ?> ---EXPECTF-- +--EXPECT-- Valid move bool(true) bool(true) diff --git a/ext/standard/tests/general_functions/get_include_path_basic.phpt b/ext/standard/tests/general_functions/get_include_path_basic.phpt index bb7ccf542b..c17d5d3e71 100644 --- a/ext/standard/tests/general_functions/get_include_path_basic.phpt +++ b/ext/standard/tests/general_functions/get_include_path_basic.phpt @@ -20,7 +20,7 @@ if (ini_get("include_path") == get_include_path()) { } ?> ---EXPECTF-- +--EXPECT-- *** Testing get_include_path() string(1) "." PASSED diff --git a/ext/standard/tests/general_functions/include_path.phpt b/ext/standard/tests/general_functions/include_path.phpt index 56327500ea..06e806b3a2 100644 --- a/ext/standard/tests/general_functions/include_path.phpt +++ b/ext/standard/tests/general_functions/include_path.phpt @@ -31,7 +31,7 @@ var_dump(get_include_path()); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(1) "." NULL string(1) "." diff --git a/ext/standard/tests/general_functions/is_array.phpt b/ext/standard/tests/general_functions/is_array.phpt index 200ecbd6ac..37de6d5a5b 100644 --- a/ext/standard/tests/general_functions/is_array.phpt +++ b/ext/standard/tests/general_functions/is_array.phpt @@ -103,7 +103,7 @@ echo "Done\n"; fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_array() on different type of arrays *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_bool.phpt b/ext/standard/tests/general_functions/is_bool.phpt index 7c8d693a1b..70aaed9c3f 100644 --- a/ext/standard/tests/general_functions/is_bool.phpt +++ b/ext/standard/tests/general_functions/is_bool.phpt @@ -134,7 +134,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_bool() with valid boolean values *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_float_64bit.phpt b/ext/standard/tests/general_functions/is_float_64bit.phpt index dc6df0f109..1815e53c00 100644 --- a/ext/standard/tests/general_functions/is_float_64bit.phpt +++ b/ext/standard/tests/general_functions/is_float_64bit.phpt @@ -131,7 +131,7 @@ foreach ($not_floats as $value ) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_float(), is_double() and is_real() with float values*** -- Iteration 1 -- bool(false) diff --git a/ext/standard/tests/general_functions/is_int_64bit.phpt b/ext/standard/tests/general_functions/is_int_64bit.phpt index e5c6ce77e0..8e5e9332c0 100644 --- a/ext/standard/tests/general_functions/is_int_64bit.phpt +++ b/ext/standard/tests/general_functions/is_int_64bit.phpt @@ -136,7 +136,7 @@ foreach ($not_int_types as $type ) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing is_int(), is_integer() & is_long() with valid integer values *** --Iteration 1-- bool(true) diff --git a/ext/standard/tests/general_functions/is_null.phpt b/ext/standard/tests/general_functions/is_null.phpt index 4fc325c744..6560707e57 100644 --- a/ext/standard/tests/general_functions/is_null.phpt +++ b/ext/standard/tests/general_functions/is_null.phpt @@ -134,7 +134,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_null() with valid null values *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_numeric.phpt b/ext/standard/tests/general_functions/is_numeric.phpt index 491aa5d15b..8883c57ac2 100644 --- a/ext/standard/tests/general_functions/is_numeric.phpt +++ b/ext/standard/tests/general_functions/is_numeric.phpt @@ -152,7 +152,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_numeric() with valid numeric values *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_object.phpt b/ext/standard/tests/general_functions/is_object.phpt index dd0e7689fd..8a5ac1bcbe 100644 --- a/ext/standard/tests/general_functions/is_object.phpt +++ b/ext/standard/tests/general_functions/is_object.phpt @@ -145,7 +145,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_object() with valid objects *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_scalar.phpt b/ext/standard/tests/general_functions/is_scalar.phpt index f7ef3f5317..6a89da9f56 100644 --- a/ext/standard/tests/general_functions/is_scalar.phpt +++ b/ext/standard/tests/general_functions/is_scalar.phpt @@ -112,7 +112,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing basic operations *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/is_string.phpt b/ext/standard/tests/general_functions/is_string.phpt index 7760f79831..a4ef7a47b1 100644 --- a/ext/standard/tests/general_functions/is_string.phpt +++ b/ext/standard/tests/general_functions/is_string.phpt @@ -147,7 +147,7 @@ fclose($fp); closedir($dfp); ?> ---EXPECTF-- +--EXPECT-- *** Testing is_string() with valid string values *** -- Iteration 1 -- bool(true) diff --git a/ext/standard/tests/general_functions/ob_get_length_basic.phpt b/ext/standard/tests/general_functions/ob_get_length_basic.phpt index 46d5d2d0f6..0eb1adf9ee 100644 --- a/ext/standard/tests/general_functions/ob_get_length_basic.phpt +++ b/ext/standard/tests/general_functions/ob_get_length_basic.phpt @@ -32,7 +32,7 @@ dump_string_length( '' ); dump_string_length( null ); ?> ---EXPECTF-- +--EXPECT-- *** Testing ob_get_length() : basic functionality *** bool(false) int(26) diff --git a/ext/standard/tests/general_functions/php_uname_error.phpt b/ext/standard/tests/general_functions/php_uname_error.phpt index 23859a33ac..c64c15b404 100644 --- a/ext/standard/tests/general_functions/php_uname_error.phpt +++ b/ext/standard/tests/general_functions/php_uname_error.phpt @@ -13,7 +13,7 @@ echo "\n-- Testing php_uname() function with invalid mode --\n"; var_dump( php_uname('z') == php_uname('z') ); ?> ---EXPECTF-- +--EXPECT-- *** Testing php_uname() - error test -- Testing php_uname() function with invalid mode -- diff --git a/ext/standard/tests/general_functions/print_r.phpt b/ext/standard/tests/general_functions/print_r.phpt index 3f24a5bc9d..d2ec63f5b4 100644 --- a/ext/standard/tests/general_functions/print_r.phpt +++ b/ext/standard/tests/general_functions/print_r.phpt @@ -276,7 +276,7 @@ closedir($dir_handle); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing print_r() on integer variables *** -- Iteration 1 -- diff --git a/ext/standard/tests/general_functions/print_r_64bit.phpt b/ext/standard/tests/general_functions/print_r_64bit.phpt index a0e9e148c6..5df1637dbd 100644 --- a/ext/standard/tests/general_functions/print_r_64bit.phpt +++ b/ext/standard/tests/general_functions/print_r_64bit.phpt @@ -280,7 +280,7 @@ closedir($dir_handle); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing print_r() on integer variables *** -- Iteration 1 -- diff --git a/ext/standard/tests/general_functions/var_dump_64bit.phpt b/ext/standard/tests/general_functions/var_dump_64bit.phpt index 0600775f58..7b74761586 100644 --- a/ext/standard/tests/general_functions/var_dump_64bit.phpt +++ b/ext/standard/tests/general_functions/var_dump_64bit.phpt @@ -279,7 +279,7 @@ closedir($dir_handle); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing var_dump() on integer variables *** -- Iteration 1 -- int(0) diff --git a/ext/standard/tests/general_functions/var_export-locale.phpt b/ext/standard/tests/general_functions/var_export-locale.phpt index bdc61d9928..9f9cd0e896 100644 --- a/ext/standard/tests/general_functions/var_export-locale.phpt +++ b/ext/standard/tests/general_functions/var_export-locale.phpt @@ -307,7 +307,7 @@ echo "\nDone"; ?> ---EXPECTF-- +--EXPECT-- *** Testing var_export() with integer values *** *** Output for integer values *** diff --git a/ext/standard/tests/image/image_type_to_extension.phpt b/ext/standard/tests/image/image_type_to_extension.phpt index 249df57943..448aac4e99 100644 --- a/ext/standard/tests/image/image_type_to_extension.phpt +++ b/ext/standard/tests/image/image_type_to_extension.phpt @@ -33,7 +33,7 @@ image_type_to_extension() var_dump(image_type_to_extension(0)); ?> Done ---EXPECTF-- +--EXPECT-- Constant: IMAGETYPE_GIF With dot: .gif Without dot: gif diff --git a/ext/standard/tests/math/lcg_value_basic.phpt b/ext/standard/tests/math/lcg_value_basic.phpt index 95811c6f3c..ca76b5c836 100644 --- a/ext/standard/tests/math/lcg_value_basic.phpt +++ b/ext/standard/tests/math/lcg_value_basic.phpt @@ -24,7 +24,7 @@ if ($i != 100) { echo "MATHS test script completed\n"; ?> ---EXPECTF-- +--EXPECT-- MATHS test script started lcg_value tests... diff --git a/ext/standard/tests/network/inet.phpt b/ext/standard/tests/network/inet.phpt index 29b4aa0e6b..b25265446f 100644 --- a/ext/standard/tests/network/inet.phpt +++ b/ext/standard/tests/network/inet.phpt @@ -35,7 +35,7 @@ foreach ($array as $val) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(9) "127.0.0.1" string(13) "255.255.255.0" bool(false) diff --git a/ext/standard/tests/network/ip_x86_64.phpt b/ext/standard/tests/network/ip_x86_64.phpt index c659eb70fb..dd81bde55c 100644 --- a/ext/standard/tests/network/ip_x86_64.phpt +++ b/ext/standard/tests/network/ip_x86_64.phpt @@ -29,7 +29,7 @@ var_dump(long2ip(-110000)); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- int(2130706433) string(9) "127.0.0.1" int(167772161) diff --git a/ext/standard/tests/random/random_int.phpt b/ext/standard/tests/random/random_int.phpt index 94654a7f72..6fd04420ee 100644 --- a/ext/standard/tests/random/random_int.phpt +++ b/ext/standard/tests/random/random_int.phpt @@ -15,7 +15,7 @@ var_dump(is_int(random_int(PHP_INT_MIN, PHP_INT_MAX))); var_dump(random_int(42,42)); ?> ---EXPECTF-- +--EXPECT-- bool(true) bool(true) bool(true) diff --git a/ext/standard/tests/serialize/bug45706.phpt b/ext/standard/tests/serialize/bug45706.phpt index cc71dec4e6..c29081cab7 100644 --- a/ext/standard/tests/serialize/bug45706.phpt +++ b/ext/standard/tests/serialize/bug45706.phpt @@ -12,7 +12,7 @@ $s = serialize($x); $s = str_replace("Foo", "Bar", $s); $y = unserialize($s); var_dump($y); ---EXPECTF-- +--EXPECT-- array(2) { [0]=> object(__PHP_Incomplete_Class)#3 (5) { diff --git a/ext/standard/tests/streams/bug61115.phpt b/ext/standard/tests/streams/bug61115.phpt index 3caffde232..ce6b57651c 100644 --- a/ext/standard/tests/streams/bug61115.phpt +++ b/ext/standard/tests/streams/bug61115.phpt @@ -13,5 +13,5 @@ try { echo $e->getMessage(), "\n"; } ?> ---EXPECTF-- +--EXPECT-- Object of class Closure could not be converted to string diff --git a/ext/standard/tests/streams/bug78662.phpt b/ext/standard/tests/streams/bug78662.phpt index e874d5aef6..2ea00b67b1 100644 --- a/ext/standard/tests/streams/bug78662.phpt +++ b/ext/standard/tests/streams/bug78662.phpt @@ -26,7 +26,7 @@ var_dump(fwrite($f, "bar")); var_dump(fread($f, 100)); ?> Done ---EXPECTF-- +--EXPECT-- bool(false) bool(false) Done diff --git a/ext/standard/tests/streams/stream_set_timeout_error.phpt b/ext/standard/tests/streams/stream_set_timeout_error.phpt index 7dcc645422..64e9aa5773 100644 --- a/ext/standard/tests/streams/stream_set_timeout_error.phpt +++ b/ext/standard/tests/streams/stream_set_timeout_error.phpt @@ -41,7 +41,7 @@ fclose($server); echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing stream_set_timeout() : error conditions *** -- Testing stream_set_timeout() function with a closed socket -- diff --git a/ext/standard/tests/strings/chr_error.phpt b/ext/standard/tests/strings/chr_error.phpt index 2603b69210..b6bd9973b6 100644 --- a/ext/standard/tests/strings/chr_error.phpt +++ b/ext/standard/tests/strings/chr_error.phpt @@ -26,7 +26,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- *** Testing chr() : error conditions *** -- Testing chr() function with no arguments -- diff --git a/ext/standard/tests/strings/fprintf_error.phpt b/ext/standard/tests/strings/fprintf_error.phpt index 1ffc188051..bfef30a75b 100644 --- a/ext/standard/tests/strings/fprintf_error.phpt +++ b/ext/standard/tests/strings/fprintf_error.phpt @@ -29,7 +29,7 @@ try { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Testing Error Conditions *** Wrong parameter count for fprintf() Wrong parameter count for fprintf() diff --git a/ext/standard/tests/strings/htmlentities24.phpt b/ext/standard/tests/strings/htmlentities24.phpt index f2abfd5ba8..2a04bd345e 100644 --- a/ext/standard/tests/strings/htmlentities24.phpt +++ b/ext/standard/tests/strings/htmlentities24.phpt @@ -37,7 +37,7 @@ var_dump( htmlentities($str, ENT_COMPAT) ); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Retrieving htmlentities for 256 characters *** string(12) "636872283029" string(12) "636872283129" diff --git a/ext/standard/tests/strings/htmlspecialchars.phpt b/ext/standard/tests/strings/htmlspecialchars.phpt index 6e5c5fac36..5677da6fe2 100644 --- a/ext/standard/tests/strings/htmlspecialchars.phpt +++ b/ext/standard/tests/strings/htmlspecialchars.phpt @@ -37,7 +37,7 @@ var_dump( htmlspecialchars($str, ENT_COMPAT) ); echo "Done\n" ?> ---EXPECTF-- +--EXPECT-- *** Retrieving htmlspecialchars for 256 characters *** string(12) "636872283029" string(12) "636872283129" diff --git a/ext/standard/tests/strings/ltrim.phpt b/ext/standard/tests/strings/ltrim.phpt index 51287e04d7..8ac57ca92e 100644 --- a/ext/standard/tests/strings/ltrim.phpt +++ b/ext/standard/tests/strings/ltrim.phpt @@ -41,7 +41,7 @@ var_dump( ltrim($str, "\nusi") ); echo "\nDone\n"; ?> ---EXPECTF-- +--EXPECT-- *** Output for Error Conditions *** *** Using heredoc string *** diff --git a/ext/standard/tests/strings/metaphone.phpt b/ext/standard/tests/strings/metaphone.phpt index 2bc16b3248..a6b52e3934 100644 --- a/ext/standard/tests/strings/metaphone.phpt +++ b/ext/standard/tests/strings/metaphone.phpt @@ -24,7 +24,7 @@ foreach($array as $str) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(0) "" string(0) "" bool(false) diff --git a/ext/standard/tests/strings/parse_str_basic1.phpt b/ext/standard/tests/strings/parse_str_basic1.phpt index 60277fa184..38652ba0fa 100644 --- a/ext/standard/tests/strings/parse_str_basic1.phpt +++ b/ext/standard/tests/strings/parse_str_basic1.phpt @@ -27,7 +27,7 @@ var_dump(parse_str($s1, $res3_array)); var_dump($res3_array); ?> ---EXPECTF-- +--EXPECT-- *** Testing parse_str() : basic functionality *** Basic test WITH undefined var for result arg diff --git a/ext/standard/tests/strings/parse_str_basic3.phpt b/ext/standard/tests/strings/parse_str_basic3.phpt index 25b5f8745d..0ea88a365b 100644 --- a/ext/standard/tests/strings/parse_str_basic3.phpt +++ b/ext/standard/tests/strings/parse_str_basic3.phpt @@ -73,7 +73,7 @@ var_dump(parse_str($str, $res)); var_dump($res); ?> ---EXPECTF-- +--EXPECT-- *** Testing parse_str() : basic functionality *** Test string with array values and results array diff --git a/ext/standard/tests/strings/printf_error.phpt b/ext/standard/tests/strings/printf_error.phpt index 62591e9e6f..e9fc0a4383 100644 --- a/ext/standard/tests/strings/printf_error.phpt +++ b/ext/standard/tests/strings/printf_error.phpt @@ -61,7 +61,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- *** Testing printf() : error conditions *** -- Testing printf() function with Zero arguments -- diff --git a/ext/standard/tests/strings/rtrim.phpt b/ext/standard/tests/strings/rtrim.phpt index 223a839f58..2fc531faad 100644 --- a/ext/standard/tests/strings/rtrim.phpt +++ b/ext/standard/tests/strings/rtrim.phpt @@ -42,7 +42,7 @@ var_dump( rtrim($str, "ing") ); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- *** Output for Normal Behaviour *** string(10) "rtrim test" string(13) "rtrim test " diff --git a/ext/standard/tests/strings/soundex.phpt b/ext/standard/tests/strings/soundex.phpt index ef61ac495e..c4acc2ff68 100644 --- a/ext/standard/tests/strings/soundex.phpt +++ b/ext/standard/tests/strings/soundex.phpt @@ -30,7 +30,7 @@ foreach ($array as $str) { echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- bool(false) string(4) "0000" string(4) "F650" diff --git a/ext/standard/tests/strings/sprintf_variation15.phpt b/ext/standard/tests/strings/sprintf_variation15.phpt index 07774a92ec..66d85647ff 100644 --- a/ext/standard/tests/strings/sprintf_variation15.phpt +++ b/ext/standard/tests/strings/sprintf_variation15.phpt @@ -74,7 +74,7 @@ foreach($string_values as $string_value) { echo "Done"; ?> ---EXPECTF-- +--EXPECT-- *** Testing sprintf() : string formats with string values *** -- Iteration 1 -- diff --git a/ext/standard/tests/strings/sscanf_error.phpt b/ext/standard/tests/strings/sscanf_error.phpt index ffaefb8418..0af8f9ed14 100644 --- a/ext/standard/tests/strings/sscanf_error.phpt +++ b/ext/standard/tests/strings/sscanf_error.phpt @@ -20,7 +20,7 @@ try { echo $exception->getMessage() . "\n"; } ?> ---EXPECTF-- +--EXPECT-- *** Testing sscanf() : error conditions *** -- Testing sscanf() function with more than expected no. of arguments -- diff --git a/ext/standard/tests/strings/str_ireplace.phpt b/ext/standard/tests/strings/str_ireplace.phpt index a5a35769e4..c360004a14 100644 --- a/ext/standard/tests/strings/str_ireplace.phpt +++ b/ext/standard/tests/strings/str_ireplace.phpt @@ -44,7 +44,7 @@ var_dump($Data = str_ireplace("\n", "<br>", $Data)); echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- string(0) "" string(8) "aaaaaaaT" string(8) "aaaaaaaT" diff --git a/ext/standard/tests/strings/stristr.phpt b/ext/standard/tests/strings/stristr.phpt index 7b1b5312a1..09e6cff53c 100644 --- a/ext/standard/tests/strings/stristr.phpt +++ b/ext/standard/tests/strings/stristr.phpt @@ -14,7 +14,7 @@ stristr() function var_dump(md5(stristr("\\\\a\\", "\\a"))); var_dump(stristr("tEsT sTrInG", " ")); ?> ---EXPECTF-- +--EXPECT-- string(11) "tEsT sTrInG" string(6) "sTrInG" string(6) "sTrInG" diff --git a/ext/standard/tests/strings/strrchr_variation1.phpt b/ext/standard/tests/strings/strrchr_variation1.phpt index a75dd96bbf..f28571ba7f 100644 --- a/ext/standard/tests/strings/strrchr_variation1.phpt +++ b/ext/standard/tests/strings/strrchr_variation1.phpt @@ -81,7 +81,7 @@ for($index=0; $index<count($needle); $index++) { } echo "*** Done ***"; ?> ---EXPECTF-- +--EXPECT-- *** Testing strrchr() function: with various double quoted strings *** -- Iteration 1 -- string(16) "lo123456he #4 A " diff --git a/ext/standard/tests/strings/strrchr_variation2.phpt b/ext/standard/tests/strings/strrchr_variation2.phpt index 2ff6720fb9..e6e510dd55 100644 --- a/ext/standard/tests/strings/strrchr_variation2.phpt +++ b/ext/standard/tests/strings/strrchr_variation2.phpt @@ -81,7 +81,7 @@ for($index=0; $index<count($needle); $index++) { } echo "*** Done ***"; ?> ---EXPECTF-- +--EXPECT-- *** Testing strrchr() function: with various single quoted strings *** -- Iteration 1 -- string(22) "lo123456he \x234 \101 " diff --git a/ext/standard/tests/strings/strtolower.phpt b/ext/standard/tests/strings/strtolower.phpt index 7c7e2bb4c7..041b66a00c 100644 --- a/ext/standard/tests/strings/strtolower.phpt +++ b/ext/standard/tests/strings/strtolower.phpt @@ -65,7 +65,7 @@ else echo "*** Done ***"; ?> ---EXPECTF-- +--EXPECT-- *** Testing strtolower() with 128 chars *** 00 => 00 01 => 01 diff --git a/ext/standard/tests/strings/strtoupper1.phpt b/ext/standard/tests/strings/strtoupper1.phpt index c243ff10c7..6c7434ba16 100644 --- a/ext/standard/tests/strings/strtoupper1.phpt +++ b/ext/standard/tests/strings/strtoupper1.phpt @@ -65,7 +65,7 @@ else echo "*** Done ***"; ?> ---EXPECTF-- +--EXPECT-- *** Testing strtoupper() with 128 chars *** 00 => 00 01 => 01 diff --git a/ext/standard/tests/strings/strval_error.phpt b/ext/standard/tests/strings/strval_error.phpt index a363e26f24..88cca824a6 100644 --- a/ext/standard/tests/strings/strval_error.phpt +++ b/ext/standard/tests/strings/strval_error.phpt @@ -25,7 +25,7 @@ try { } ?> ---EXPECTF-- +--EXPECT-- *** Testing strval() : error conditions *** -- Testing strval() function with object which has not toString() method -- diff --git a/ext/standard/tests/strings/substr.phpt b/ext/standard/tests/strings/substr.phpt index fe687ed1ae..6028c17008 100644 --- a/ext/standard/tests/strings/substr.phpt +++ b/ext/standard/tests/strings/substr.phpt @@ -66,7 +66,7 @@ var_dump (substr("abcdef" , 2, NULL) ); echo"\nDone"; ?> ---EXPECTF-- +--EXPECT-- --- Iteration 1 --- -- Variations for two arguments -- diff --git a/ext/standard/tests/strings/trim1.phpt b/ext/standard/tests/strings/trim1.phpt index 1ad504c61d..a31d7213a1 100644 --- a/ext/standard/tests/strings/trim1.phpt +++ b/ext/standard/tests/strings/trim1.phpt @@ -49,7 +49,7 @@ var_dump( trim($str, "us\ning") ); echo "\nDone"; ?> ---EXPECTF-- +--EXPECT-- string(0) "" string(0) "" string(1) "0" diff --git a/ext/standard/tests/strings/vfprintf_error1.phpt b/ext/standard/tests/strings/vfprintf_error1.phpt index f2057ea388..fdaecd6fb3 100644 --- a/ext/standard/tests/strings/vfprintf_error1.phpt +++ b/ext/standard/tests/strings/vfprintf_error1.phpt @@ -42,7 +42,7 @@ $file = 'vfprintf_error1.txt'; unlink( $file ); ?> ---EXPECTF-- +--EXPECT-- -- Testing vfprintf() function with more than expected no. of arguments -- Wrong parameter count for vfprintf() Wrong parameter count for vfprintf() diff --git a/ext/standard/tests/time/strptime_error.phpt b/ext/standard/tests/time/strptime_error.phpt index d7eb11fc55..87965cd1a2 100644 --- a/ext/standard/tests/time/strptime_error.phpt +++ b/ext/standard/tests/time/strptime_error.phpt @@ -24,7 +24,7 @@ $format = '%b %d %Y %H:%M:%S'; var_dump( strptime('foo', $format) ); ?> ---EXPECTF-- +--EXPECT-- *** Testing strptime() : error conditions *** -- Testing strptime() function on failure -- diff --git a/ext/tokenizer/tests/001.phpt b/ext/tokenizer/tests/001.phpt index 8e58c81891..006377d5e9 100644 --- a/ext/tokenizer/tests/001.phpt +++ b/ext/tokenizer/tests/001.phpt @@ -129,7 +129,7 @@ echo token_name(0x8000000F), "\n"; echo "Done\n"; ?> ---EXPECTF-- +--EXPECT-- T_INCLUDE T_INCLUDE_ONCE T_EVAL diff --git a/ext/xmlreader/tests/static.phpt b/ext/xmlreader/tests/static.phpt index 1c6cb5b870..a722e31105 100644 --- a/ext/xmlreader/tests/static.phpt +++ b/ext/xmlreader/tests/static.phpt @@ -22,7 +22,7 @@ while ($reader->read()) { echo $reader->name, "\n"; } ?> ---EXPECTF-- +--EXPECT-- books books books diff --git a/ext/xmlwriter/tests/bug41326.phpt b/ext/xmlwriter/tests/bug41326.phpt index 886e149261..c04ffe3167 100644 --- a/ext/xmlwriter/tests/bug41326.phpt +++ b/ext/xmlwriter/tests/bug41326.phpt @@ -35,7 +35,7 @@ $xw->endElement(); $xw->endDocument(); print $xw->flush(true); ?> ---EXPECTF-- +--EXPECT-- <?xml version="1.0"?> <test> <foo/> diff --git a/tests/output/stream_isatty_err.phpt b/tests/output/stream_isatty_err.phpt index 55a25f1c9f..e7c1038350 100644 --- a/tests/output/stream_isatty_err.phpt +++ b/tests/output/stream_isatty_err.phpt @@ -13,7 +13,7 @@ STDERR require __DIR__.'/stream_isatty.inc'; testToStdErr(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(true) STDIN (fopen): bool(true) STDIN (php://fd/0): bool(true) diff --git a/tests/output/stream_isatty_in-err.phpt b/tests/output/stream_isatty_in-err.phpt index 2554eb4689..73514955d4 100644 --- a/tests/output/stream_isatty_in-err.phpt +++ b/tests/output/stream_isatty_in-err.phpt @@ -13,7 +13,7 @@ STDIN STDERR require __DIR__.'/stream_isatty.inc'; testToStdErr(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(false) STDIN (fopen): bool(false) STDIN (php://fd/0): bool(false) diff --git a/tests/output/stream_isatty_in-out-err.phpt b/tests/output/stream_isatty_in-out-err.phpt index 496bdd100e..9b65e8861b 100644 --- a/tests/output/stream_isatty_in-out-err.phpt +++ b/tests/output/stream_isatty_in-out-err.phpt @@ -13,7 +13,7 @@ STDIN STDOUT STDERR require __DIR__.'/stream_isatty.inc'; testToStdOut(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(false) STDIN (fopen): bool(false) STDIN (php://fd/0): bool(false) diff --git a/tests/output/stream_isatty_in-out.phpt b/tests/output/stream_isatty_in-out.phpt index d58e9aa05c..c2bb346854 100644 --- a/tests/output/stream_isatty_in-out.phpt +++ b/tests/output/stream_isatty_in-out.phpt @@ -13,7 +13,7 @@ STDIN STDOUT require __DIR__.'/stream_isatty.inc'; testToStdOut(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(false) STDIN (fopen): bool(false) STDIN (php://fd/0): bool(false) diff --git a/tests/output/stream_isatty_out-err.phpt b/tests/output/stream_isatty_out-err.phpt index e3ec1237bc..dc113a9720 100644 --- a/tests/output/stream_isatty_out-err.phpt +++ b/tests/output/stream_isatty_out-err.phpt @@ -13,7 +13,7 @@ STDOUT STDERR require __DIR__.'/stream_isatty.inc'; testToStdOut(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(true) STDIN (fopen): bool(true) STDIN (php://fd/0): bool(true) diff --git a/tests/output/stream_isatty_out.phpt b/tests/output/stream_isatty_out.phpt index 3ea4996ac4..f18c986c5a 100644 --- a/tests/output/stream_isatty_out.phpt +++ b/tests/output/stream_isatty_out.phpt @@ -13,7 +13,7 @@ STDOUT require __DIR__.'/stream_isatty.inc'; testToStdOut(); ?> ---EXPECTF-- +--EXPECT-- STDIN (constant): bool(true) STDIN (fopen): bool(true) STDIN (php://fd/0): bool(true) # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Mon Apr 27 21:01:47 2020 +0200 # # On branch tests/use-simpler-expect-section # Your branch and 'fork/tests/use-simpler-expect-section' have diverged, # and have 1 and 1 different commits each, respectively. # (use "git pull" to merge the remote branch into yours) # # Changes to be committed: # modified: Zend/tests/005.phpt # modified: Zend/tests/bug27669.phpt # modified: Zend/tests/bug51827.phpt # modified: Zend/tests/bug63206.phpt # modified: Zend/tests/bug63206_1.phpt # modified: Zend/tests/bug63206_2.phpt # modified: Zend/tests/incompat_ctx_user.phpt # modified: Zend/tests/instanceof_001.phpt # modified: Zend/tests/unexpected_ref_bug.phpt # modified: ext/date/tests/012.phpt # modified: ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt # modified: ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt # modified: ext/date/tests/date_parse_001.phpt # modified: ext/date/tests/date_parse_error.phpt # modified: ext/date/tests/gmmktime_basic.phpt # modified: ext/date/tests/mktime_error.phpt # modified: ext/date/tests/timezone_abbreviations_list_basic1.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic.phpt # modified: ext/filter/tests/007.phpt # modified: ext/filter/tests/008.phpt # modified: ext/filter/tests/010.phpt # modified: ext/hash/tests/hash_hkdf_edges.phpt # modified: ext/hash/tests/hash_hmac_file_basic.phpt # modified: ext/json/tests/json_last_error_msg_error.phpt # modified: ext/libxml/tests/bug76777.phpt # modified: ext/pcre/tests/preg_replace_error2.phpt # modified: ext/pcre/tests/split2.phpt # modified: ext/phar/tests/phar_isvalidpharfilename.phpt # modified: ext/phar/tests/pharfileinfo_chmod.phpt # modified: ext/phar/tests/pharfileinfo_setmetadata.phpt # modified: ext/phar/tests/stat2_5.3.phpt # modified: ext/posix/tests/posix_getgrgid_error.phpt # modified: ext/posix/tests/posix_getpgid_error.phpt # modified: ext/posix/tests/posix_getpwuid_error.phpt # modified: ext/posix/tests/posix_getsid_error.phpt # modified: ext/posix/tests/posix_initgroups.phpt # modified: ext/posix/tests/posix_kill_error.phpt # modified: ext/posix/tests/posix_strerror_error.phpt # modified: ext/reflection/tests/ReflectionClass_hasProperty_002.phpt # modified: ext/reflection/tests/ReflectionMethod_getClosure_error.phpt # modified: ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt # modified: ext/reflection/tests/ReflectionObject_getName_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_setValue_error.phpt # modified: ext/session/tests/bug79221.phpt # modified: ext/session/tests/session_cache_limiter_error.phpt # modified: ext/spl/tests/bug61347.phpt # modified: ext/spl/tests/fileobject_005.phpt # modified: ext/spl/tests/iterator_045.phpt # modified: ext/spl/tests/regexIterator_setMode_error.phpt # modified: ext/spl/tests/spl_heap_is_empty_basic.phpt # modified: ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt # modified: ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt # modified: ext/standard/tests/array/005.phpt # modified: ext/standard/tests/array/009.phpt # modified: ext/standard/tests/array/array_diff_assoc_error.phpt # modified: ext/standard/tests/array/array_diff_error.phpt # modified: ext/standard/tests/array/array_diff_key_error.phpt # modified: ext/standard/tests/array/array_filter.phpt # modified: ext/standard/tests/array/array_filter_variation10.phpt # modified: ext/standard/tests/array/array_key_exists_variation3.phpt # modified: ext/standard/tests/array/array_map_error.phpt # modified: ext/standard/tests/array/array_merge.phpt # modified: ext/standard/tests/array/array_push.phpt # modified: ext/standard/tests/array/array_slice.phpt # modified: ext/standard/tests/array/array_unshift.phpt # modified: ext/standard/tests/array/array_walk.phpt # modified: ext/standard/tests/array/array_walk_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive1.phpt # modified: ext/standard/tests/array/array_walk_recursive_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive_variation7.phpt # modified: ext/standard/tests/array/array_walk_variation7.phpt # modified: ext/standard/tests/array/uasort_variation8.phpt # modified: ext/standard/tests/array/usort_variation8.phpt # modified: ext/standard/tests/assert/assert_variation.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_1.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_2.phpt # modified: ext/standard/tests/file/basename.phpt # modified: ext/standard/tests/file/fscanf.phpt # modified: ext/standard/tests/file/fscanf_variation10.phpt # modified: ext/standard/tests/file/is_dir_variation3.phpt # modified: ext/standard/tests/file/is_executable_error.phpt # modified: ext/standard/tests/file/is_executable_variation3.phpt # modified: ext/standard/tests/file/is_file_variation3.phpt # modified: ext/standard/tests/file/is_readable_error.phpt # modified: ext/standard/tests/file/is_readable_variation3.phpt # modified: ext/standard/tests/file/is_uploaded_file_basic.phpt # modified: ext/standard/tests/file/is_writable_error.phpt # modified: ext/standard/tests/file/is_writable_variation3.phpt # modified: ext/standard/tests/file/move_uploaded_file_basic.phpt # modified: ext/standard/tests/general_functions/get_include_path_basic.phpt # modified: ext/standard/tests/general_functions/include_path.phpt # modified: ext/standard/tests/general_functions/is_array.phpt # modified: ext/standard/tests/general_functions/is_bool.phpt # modified: ext/standard/tests/general_functions/is_float_64bit.phpt # modified: ext/standard/tests/general_functions/is_int_64bit.phpt # modified: ext/standard/tests/general_functions/is_null.phpt # modified: ext/standard/tests/general_functions/is_numeric.phpt # modified: ext/standard/tests/general_functions/is_object.phpt # modified: ext/standard/tests/general_functions/is_scalar.phpt # modified: ext/standard/tests/general_functions/is_string.phpt # modified: ext/standard/tests/general_functions/ob_get_length_basic.phpt # modified: ext/standard/tests/general_functions/php_uname_error.phpt # modified: ext/standard/tests/general_functions/print_r.phpt # modified: ext/standard/tests/general_functions/print_r_64bit.phpt # modified: ext/standard/tests/general_functions/var_dump_64bit.phpt # modified: ext/standard/tests/general_functions/var_export-locale.phpt # modified: ext/standard/tests/image/image_type_to_extension.phpt # modified: ext/standard/tests/math/lcg_value_basic.phpt # modified: ext/standard/tests/network/inet.phpt # modified: ext/standard/tests/network/ip_x86_64.phpt # modified: ext/standard/tests/random/random_int.phpt # modified: ext/standard/tests/serialize/bug45706.phpt # modified: ext/standard/tests/streams/bug61115.phpt # modified: ext/standard/tests/streams/bug78662.phpt # modified: ext/standard/tests/streams/stream_set_timeout_error.phpt # modified: ext/standard/tests/strings/chr_error.phpt # modified: ext/standard/tests/strings/fprintf_error.phpt # modified: ext/standard/tests/strings/htmlentities24.phpt # modified: ext/standard/tests/strings/htmlspecialchars.phpt # modified: ext/standard/tests/strings/ltrim.phpt # modified: ext/standard/tests/strings/metaphone.phpt # modified: ext/standard/tests/strings/parse_str_basic1.phpt # modified: ext/standard/tests/strings/parse_str_basic3.phpt # modified: ext/standard/tests/strings/printf_error.phpt # modified: ext/standard/tests/strings/rtrim.phpt # modified: ext/standard/tests/strings/soundex.phpt # modified: ext/standard/tests/strings/sprintf_variation15.phpt # modified: ext/standard/tests/strings/sscanf_error.phpt # modified: ext/standard/tests/strings/str_ireplace.phpt # modified: ext/standard/tests/strings/stristr.phpt # modified: ext/standard/tests/strings/strrchr_variation1.phpt # modified: ext/standard/tests/strings/strrchr_variation2.phpt # modified: ext/standard/tests/strings/strtolower.phpt # modified: ext/standard/tests/strings/strtoupper1.phpt # modified: ext/standard/tests/strings/strval_error.phpt # modified: ext/standard/tests/strings/substr.phpt # modified: ext/standard/tests/strings/trim1.phpt # modified: ext/standard/tests/strings/vfprintf_error1.phpt # modified: ext/standard/tests/time/strptime_error.phpt # modified: ext/tokenizer/tests/001.phpt # modified: ext/xmlreader/tests/static.phpt # modified: ext/xmlwriter/tests/bug41326.phpt # modified: tests/output/stream_isatty_err.phpt # modified: tests/output/stream_isatty_in-err.phpt # modified: tests/output/stream_isatty_in-out-err.phpt # modified: tests/output/stream_isatty_in-out.phpt # modified: tests/output/stream_isatty_out-err.phpt # modified: tests/output/stream_isatty_out.phpt # # Changes not staged for commit: # modified: run-tests.php # # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Mon Apr 27 21:01:47 2020 +0200 # # On branch tests/use-simpler-expect-section # Your branch is up to date with 'fork/tests/use-simpler-expect-section'. # # Changes to be committed: # modified: Zend/tests/005.phpt # modified: Zend/tests/bug27669.phpt # modified: Zend/tests/bug51827.phpt # modified: Zend/tests/bug63206.phpt # modified: Zend/tests/bug63206_1.phpt # modified: Zend/tests/bug63206_2.phpt # modified: Zend/tests/incompat_ctx_user.phpt # modified: Zend/tests/instanceof_001.phpt # modified: Zend/tests/unexpected_ref_bug.phpt # modified: ext/date/tests/012.phpt # modified: ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt # modified: ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt # modified: ext/date/tests/date_parse_001.phpt # modified: ext/date/tests/date_parse_error.phpt # modified: ext/date/tests/gmmktime_basic.phpt # modified: ext/date/tests/mktime_error.phpt # modified: ext/date/tests/timezone_abbreviations_list_basic1.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic.phpt # modified: ext/filter/tests/007.phpt # modified: ext/filter/tests/008.phpt # modified: ext/filter/tests/010.phpt # modified: ext/hash/tests/hash_hkdf_edges.phpt # modified: ext/hash/tests/hash_hmac_file_basic.phpt # modified: ext/json/tests/json_last_error_msg_error.phpt # modified: ext/libxml/tests/bug76777.phpt # modified: ext/pcre/tests/preg_replace_error2.phpt # modified: ext/pcre/tests/split2.phpt # modified: ext/phar/tests/phar_isvalidpharfilename.phpt # modified: ext/phar/tests/pharfileinfo_chmod.phpt # modified: ext/phar/tests/pharfileinfo_setmetadata.phpt # modified: ext/phar/tests/stat2_5.3.phpt # modified: ext/posix/tests/posix_getgrgid_error.phpt # modified: ext/posix/tests/posix_getpgid_error.phpt # modified: ext/posix/tests/posix_getpwuid_error.phpt # modified: ext/posix/tests/posix_getsid_error.phpt # modified: ext/posix/tests/posix_initgroups.phpt # modified: ext/posix/tests/posix_kill_error.phpt # modified: ext/posix/tests/posix_strerror_error.phpt # modified: ext/reflection/tests/ReflectionClass_hasProperty_002.phpt # modified: ext/reflection/tests/ReflectionMethod_getClosure_error.phpt # modified: ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt # modified: ext/reflection/tests/ReflectionObject_getName_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_setValue_error.phpt # modified: ext/session/tests/bug79221.phpt # modified: ext/session/tests/session_cache_limiter_error.phpt # modified: ext/spl/tests/bug61347.phpt # modified: ext/spl/tests/fileobject_005.phpt # modified: ext/spl/tests/iterator_045.phpt # modified: ext/spl/tests/regexIterator_setMode_error.phpt # modified: ext/spl/tests/spl_heap_is_empty_basic.phpt # modified: ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt # modified: ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt # modified: ext/standard/tests/array/005.phpt # modified: ext/standard/tests/array/009.phpt # modified: ext/standard/tests/array/array_diff_assoc_error.phpt # modified: ext/standard/tests/array/array_diff_error.phpt # modified: ext/standard/tests/array/array_diff_key_error.phpt # modified: ext/standard/tests/array/array_filter.phpt # modified: ext/standard/tests/array/array_filter_variation10.phpt # modified: ext/standard/tests/array/array_key_exists_variation3.phpt # modified: ext/standard/tests/array/array_map_error.phpt # modified: ext/standard/tests/array/array_merge.phpt # modified: ext/standard/tests/array/array_push.phpt # modified: ext/standard/tests/array/array_slice.phpt # modified: ext/standard/tests/array/array_unshift.phpt # modified: ext/standard/tests/array/array_walk.phpt # modified: ext/standard/tests/array/array_walk_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive1.phpt # modified: ext/standard/tests/array/array_walk_recursive_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive_variation7.phpt # modified: ext/standard/tests/array/array_walk_variation7.phpt # modified: ext/standard/tests/array/uasort_variation8.phpt # modified: ext/standard/tests/array/usort_variation8.phpt # modified: ext/standard/tests/assert/assert_variation.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_1.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_2.phpt # modified: ext/standard/tests/file/basename.phpt # modified: ext/standard/tests/file/fscanf.phpt # modified: ext/standard/tests/file/fscanf_variation10.phpt # modified: ext/standard/tests/file/is_dir_variation3.phpt # modified: ext/standard/tests/file/is_executable_error.phpt # modified: ext/standard/tests/file/is_executable_variation3.phpt # modified: ext/standard/tests/file/is_file_variation3.phpt # modified: ext/standard/tests/file/is_readable_error.phpt # modified: ext/standard/tests/file/is_readable_variation3.phpt # modified: ext/standard/tests/file/is_uploaded_file_basic.phpt # modified: ext/standard/tests/file/is_writable_error.phpt # modified: ext/standard/tests/file/is_writable_variation3.phpt # modified: ext/standard/tests/file/move_uploaded_file_basic.phpt # modified: ext/standard/tests/general_functions/get_include_path_basic.phpt # modified: ext/standard/tests/general_functions/include_path.phpt # modified: ext/standard/tests/general_functions/is_array.phpt # modified: ext/standard/tests/general_functions/is_bool.phpt # modified: ext/standard/tests/general_functions/is_float_64bit.phpt # modified: ext/standard/tests/general_functions/is_int_64bit.phpt # modified: ext/standard/tests/general_functions/is_null.phpt # modified: ext/standard/tests/general_functions/is_numeric.phpt # modified: ext/standard/tests/general_functions/is_object.phpt # modified: ext/standard/tests/general_functions/is_scalar.phpt # modified: ext/standard/tests/general_functions/is_string.phpt # modified: ext/standard/tests/general_functions/ob_get_length_basic.phpt # modified: ext/standard/tests/general_functions/php_uname_error.phpt # modified: ext/standard/tests/general_functions/print_r.phpt # modified: ext/standard/tests/general_functions/print_r_64bit.phpt # modified: ext/standard/tests/general_functions/var_dump_64bit.phpt # modified: ext/standard/tests/general_functions/var_export-locale.phpt # modified: ext/standard/tests/image/image_type_to_extension.phpt # modified: ext/standard/tests/math/lcg_value_basic.phpt # modified: ext/standard/tests/network/inet.phpt # modified: ext/standard/tests/network/ip_x86_64.phpt # modified: ext/standard/tests/random/random_int.phpt # modified: ext/standard/tests/serialize/bug45706.phpt # modified: ext/standard/tests/streams/bug61115.phpt # modified: ext/standard/tests/streams/bug78662.phpt # modified: ext/standard/tests/streams/stream_set_timeout_error.phpt # modified: ext/standard/tests/strings/chr_error.phpt # modified: ext/standard/tests/strings/fprintf_error.phpt # modified: ext/standard/tests/strings/htmlentities24.phpt # modified: ext/standard/tests/strings/htmlspecialchars.phpt # modified: ext/standard/tests/strings/ltrim.phpt # modified: ext/standard/tests/strings/metaphone.phpt # modified: ext/standard/tests/strings/parse_str_basic1.phpt # modified: ext/standard/tests/strings/parse_str_basic3.phpt # modified: ext/standard/tests/strings/printf_error.phpt # modified: ext/standard/tests/strings/rtrim.phpt # modified: ext/standard/tests/strings/soundex.phpt # modified: ext/standard/tests/strings/sprintf_variation15.phpt # modified: ext/standard/tests/strings/sscanf_error.phpt # modified: ext/standard/tests/strings/str_ireplace.phpt # modified: ext/standard/tests/strings/stristr.phpt # modified: ext/standard/tests/strings/strrchr_variation1.phpt # modified: ext/standard/tests/strings/strrchr_variation2.phpt # modified: ext/standard/tests/strings/strtolower.phpt # modified: ext/standard/tests/strings/strtoupper1.phpt # modified: ext/standard/tests/strings/strval_error.phpt # modified: ext/standard/tests/strings/substr.phpt # modified: ext/standard/tests/strings/trim1.phpt # modified: ext/standard/tests/strings/vfprintf_error1.phpt # modified: ext/standard/tests/time/strptime_error.phpt # modified: ext/tokenizer/tests/001.phpt # modified: ext/xmlreader/tests/static.phpt # modified: ext/xmlwriter/tests/bug41326.phpt # modified: tests/output/stream_isatty_err.phpt # modified: tests/output/stream_isatty_in-err.phpt # modified: tests/output/stream_isatty_in-out-err.phpt # modified: tests/output/stream_isatty_in-out.phpt # modified: tests/output/stream_isatty_out-err.phpt # modified: tests/output/stream_isatty_out.phpt # # Changes not staged for commit: # modified: run-tests.php # # Please enter the commit message for your changes. Lines starting # with '#' will be ignored, and an empty message aborts the commit. # # Date: Mon Apr 27 21:01:47 2020 +0200 # # On branch tests/use-simpler-expect-section # Your branch is up to date with 'fork/tests/use-simpler-expect-section'. # # Changes to be committed: # modified: Zend/tests/005.phpt # modified: Zend/tests/bug27669.phpt # modified: Zend/tests/bug51827.phpt # modified: Zend/tests/bug63206.phpt # modified: Zend/tests/bug63206_1.phpt # modified: Zend/tests/bug63206_2.phpt # modified: Zend/tests/incompat_ctx_user.phpt # modified: Zend/tests/instanceof_001.phpt # modified: Zend/tests/unexpected_ref_bug.phpt # modified: ext/date/tests/012.phpt # modified: ext/date/tests/DatePeriod_wrong_recurrence_on_constructor.phpt # modified: ext/date/tests/DateTimeZone_listAbbreviations_basic1.phpt # modified: ext/date/tests/date_parse_001.phpt # modified: ext/date/tests/date_parse_error.phpt # modified: ext/date/tests/gmmktime_basic.phpt # modified: ext/date/tests/mktime_error.phpt # modified: ext/date/tests/timezone_abbreviations_list_basic1.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic-mb.phpt # modified: ext/fileinfo/tests/finfo_set_flags_basic.phpt # modified: ext/filter/tests/007.phpt # modified: ext/filter/tests/008.phpt # modified: ext/filter/tests/010.phpt # modified: ext/hash/tests/hash_hkdf_edges.phpt # modified: ext/hash/tests/hash_hmac_file_basic.phpt # modified: ext/json/tests/json_last_error_msg_error.phpt # modified: ext/libxml/tests/bug76777.phpt # modified: ext/pcre/tests/preg_replace_error2.phpt # modified: ext/pcre/tests/split2.phpt # modified: ext/phar/tests/phar_isvalidpharfilename.phpt # modified: ext/phar/tests/pharfileinfo_chmod.phpt # modified: ext/phar/tests/pharfileinfo_setmetadata.phpt # modified: ext/phar/tests/stat2_5.3.phpt # modified: ext/posix/tests/posix_getgrgid_error.phpt # modified: ext/posix/tests/posix_getpgid_error.phpt # modified: ext/posix/tests/posix_getpwuid_error.phpt # modified: ext/posix/tests/posix_getsid_error.phpt # modified: ext/posix/tests/posix_initgroups.phpt # modified: ext/posix/tests/posix_kill_error.phpt # modified: ext/posix/tests/posix_strerror_error.phpt # modified: ext/reflection/tests/ReflectionClass_hasProperty_002.phpt # modified: ext/reflection/tests/ReflectionMethod_getClosure_error.phpt # modified: ext/reflection/tests/ReflectionMethod_invokeArgs_error3.phpt # modified: ext/reflection/tests/ReflectionObject_getName_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_isDefault_basic.phpt # modified: ext/reflection/tests/ReflectionProperty_setValue_error.phpt # modified: ext/session/tests/bug79221.phpt # modified: ext/session/tests/session_cache_limiter_error.phpt # modified: ext/spl/tests/bug61347.phpt # modified: ext/spl/tests/fileobject_005.phpt # modified: ext/spl/tests/iterator_045.phpt # modified: ext/spl/tests/regexIterator_setMode_error.phpt # modified: ext/spl/tests/spl_heap_is_empty_basic.phpt # modified: ext/sqlite3/tests/sqlite3_40_setauthorizer.phpt # modified: ext/sqlite3/tests/sqlite3stmt_getsql_expanded.phpt # modified: ext/standard/tests/array/005.phpt # modified: ext/standard/tests/array/009.phpt # modified: ext/standard/tests/array/array_diff_assoc_error.phpt # modified: ext/standard/tests/array/array_diff_error.phpt # modified: ext/standard/tests/array/array_diff_key_error.phpt # modified: ext/standard/tests/array/array_filter.phpt # modified: ext/standard/tests/array/array_filter_variation10.phpt # modified: ext/standard/tests/array/array_key_exists_variation3.phpt # modified: ext/standard/tests/array/array_map_error.phpt # modified: ext/standard/tests/array/array_merge.phpt # modified: ext/standard/tests/array/array_push.phpt # modified: ext/standard/tests/array/array_slice.phpt # modified: ext/standard/tests/array/array_unshift.phpt # modified: ext/standard/tests/array/array_walk.phpt # modified: ext/standard/tests/array/array_walk_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive1.phpt # modified: ext/standard/tests/array/array_walk_recursive_error2.phpt # modified: ext/standard/tests/array/array_walk_recursive_variation7.phpt # modified: ext/standard/tests/array/array_walk_variation7.phpt # modified: ext/standard/tests/array/uasort_variation8.phpt # modified: ext/standard/tests/array/usort_variation8.phpt # modified: ext/standard/tests/assert/assert_variation.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_1.phpt # modified: ext/standard/tests/file/auto_detect_line_endings_2.phpt # modified: ext/standard/tests/file/basename.phpt # modified: ext/standard/tests/file/fscanf.phpt # modified: ext/standard/tests/file/fscanf_variation10.phpt # modified: ext/standard/tests/file/is_dir_variation3.phpt # modified: ext/standard/tests/file/is_executable_error.phpt # modified: ext/standard/tests/file/is_executable_variation3.phpt # modified: ext/standard/tests/file/is_file_variation3.phpt # modified: ext/standard/tests/file/is_readable_error.phpt # modified: ext/standard/tests/file/is_readable_variation3.phpt # modified: ext/standard/tests/file/is_uploaded_file_basic.phpt # modified: ext/standard/tests/file/is_writable_error.phpt # modified: ext/standard/tests/file/is_writable_variation3.phpt # modified: ext/standard/tests/file/move_uploaded_file_basic.phpt # modified: ext/standard/tests/general_functions/get_include_path_basic.phpt # modified: ext/standard/tests/general_functions/include_path.phpt # modified: ext/standard/tests/general_functions/is_array.phpt # modified: ext/standard/tests/general_functions/is_bool.phpt # modified: ext/standard/tests/general_functions/is_float_64bit.phpt # modified: ext/standard/tests/general_functions/is_int_64bit.phpt # modified: ext/standard/tests/general_functions/is_null.phpt # modified: ext/standard/tests/general_functions/is_numeric.phpt # modified: ext/standard/tests/general_functions/is_object.phpt # modified: ext/standard/tests/general_functions/is_scalar.phpt # modified: ext/standard/tests/general_functions/is_string.phpt # modified: ext/standard/tests/general_functions/ob_get_length_basic.phpt # modified: ext/standard/tests/general_functions/php_uname_error.phpt # modified: ext/standard/tests/general_functions/print_r.phpt # modified: ext/standard/tests/general_functions/print_r_64bit.phpt # modified: ext/standard/tests/general_functions/var_dump_64bit.phpt # modified: ext/standard/tests/general_functions/var_export-locale.phpt # modified: ext/standard/tests/image/image_type_to_extension.phpt # modified: ext/standard/tests/math/lcg_value_basic.phpt # modified: ext/standard/tests/network/inet.phpt # modified: ext/standard/tests/network/ip_x86_64.phpt # modified: ext/standard/tests/random/random_int.phpt # modified: ext/standard/tests/serialize/bug45706.phpt # modified: ext/standard/tests/streams/bug61115.phpt # modified: ext/standard/tests/streams/bug78662.phpt # modified: ext/standard/tests/streams/stream_set_timeout_error.phpt # modified: ext/standard/tests/strings/chr_error.phpt # modified: ext/standard/tests/strings/fprintf_error.phpt # modified: ext/standard/tests/strings/htmlentities24.phpt # modified: ext/standard/tests/strings/htmlspecialchars.phpt # modified: ext/standard/tests/strings/ltrim.phpt # modified: ext/standard/tests/strings/metaphone.phpt # modified: ext/standard/tests/strings/parse_str_basic1.phpt # modified: ext/standard/tests/strings/parse_str_basic3.phpt # modified: ext/standard/tests/strings/printf_error.phpt # modified: ext/standard/tests/strings/rtrim.phpt # modified: ext/standard/tests/strings/soundex.phpt # modified: ext/standard/tests/strings/sprintf_variation15.phpt # modified: ext/standard/tests/strings/sscanf_error.phpt # modified: ext/standard/tests/strings/str_ireplace.phpt # modified: ext/standard/tests/strings/stristr.phpt # modified: ext/standard/tests/strings/strrchr_variation1.phpt # modified: ext/standard/tests/strings/strrchr_variation2.phpt # modified: ext/standard/tests/strings/strtolower.phpt # modified: ext/standard/tests/strings/strtoupper1.phpt # modified: ext/standard/tests/strings/strval_error.phpt # modified: ext/standard/tests/strings/substr.phpt # modified: ext/standard/tests/strings/trim1.phpt # modified: ext/standard/tests/strings/vfprintf_error1.phpt # modified: ext/standard/tests/time/strptime_error.phpt # modified: ext/tokenizer/tests/001.phpt # modified: ext/xmlreader/tests/static.phpt # modified: ext/xmlwriter/tests/bug41326.phpt # modified: tests/output/stream_isatty_err.phpt # modified: tests/output/stream_isatty_in-err.phpt # modified: tests/output/stream_isatty_in-out-err.phpt # modified: tests/output/stream_isatty_in-out.phpt # modified: tests/output/stream_isatty_out-err.phpt # modified: tests/output/stream_isatty_out.phpt # # Changes not staged for commit: # modified: run-tests.php # 2020-04-27 21:04:41 +02:00
Gabriel Caruso
7ce8c5ad89 Slipt error messages while checking magic methods attributes
Closes GH-5465
2020-04-27 16:32:00 +02:00
Nikita Popov
19e886d9d8 Avoid throw expression leaks
Mark "throw" used in expression context with a flag, and don't
treat it as a BB terminator in that case. This prevents us from
optimizing away the following opcodes as unreachable, which may
result in live ranges being dropped incorrectly.

Close GH-5450.
2020-04-27 15:22:05 +02:00
Gabriel Caruso
6f908a0bf4 Check Serialization magic methods structure
Closes GH-5441
2020-04-26 02:16:39 +02:00
Máté Kocsis
5bf01fca60 Use the default type error message for Exception::__construct()
Closes GH-5460
2020-04-26 00:25:42 +02:00
Christoph M. Becker
82a72ab457 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79514: Memory leaks while including unexistent file
2020-04-24 18:17:21 +02:00
Christoph M. Becker
3151676f52 Fix #79514: Memory leaks while including unexistent file
We have to destroy (un-opened) ZEND_HANDLE_FILENAMEs.
2020-04-24 18:14:53 +02:00
Ilija Tovilo
0810fcd0d0 Make throw statement an expression
RFC: https://wiki.php.net/rfc/throw_expression

This has an open issue with temporaries that are live at the time
of the throw being leaked. Landing this now for easier testing and
will revert if we cannot resolve the issue.

Closes GH-5279.
2020-04-23 12:51:23 +02:00
Nikita Popov
cf7c68283d Fix treatment of "self" when validating against trait method
If we're validating a class method against a trait method, we need
to treat "self" in the trait method as the class where the method
is used. To achieve this, we need to thread the proto scope through
all methods, so it can be provided separately from proto.common->scope.
2020-04-23 11:41:34 +02:00
Gabriel Caruso
add8c15a31 Align magic methods' camelCase with documentation
Closes GH-5398
2020-04-16 13:53:13 +02:00
Gabriel Caruso
75a58ba522 Improve error messages for magic methods by appending method's class
Closes GH-5397.
2020-04-16 10:34:58 +02:00
Nikita Popov
72512418d5 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #79477
2020-04-15 11:22:05 +02:00
Nikita Popov
58e6a0a602 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79477
2020-04-15 11:21:42 +02:00
Nikita Popov
79a36ff7f3 Fixed bug #79477
Make sure to deindirect properties when creating array.
2020-04-15 11:21:05 +02:00
Alex Dowad
907bf786f1 Remove XFAIL from tests for 'bug' 48770
Bug 48770 was opened due to conflicting expectations about the behavior of:

    call_user_func_array(array($this, 'parent::methodName'), array($arg1,$arg2))

The one reporting the 'bug' seemed to think that since the method name was prefixed with
`parent::`, it should call the method in the superclass of the *class where this code appears*.
However, `$this` might be an instance of a subclass. If so, then it is quite reasonable that
`call_user_func_array` will call the method as defined in the superclass of *the receiver*.

So the 'bug' is not really a bug. Therefore, there is no need for an XFAIL in the tests. They
should just pass.

Amend tests to reflect the actual expected behavior of `call_user_func_array`, not what the
person who reported bug 48770 thought it should be.

Closes GH-5386.
2020-04-14 17:41:52 +02:00
Alex Dowad
80598f1250 Syntax errors caused by unclosed {, [, ( mention specific location
Aside from a few very specific syntax errors for which detailed exceptions are
thrown, generally PHP just emits the default error messages generated by bison on syntax
error. These messages are very uninformative; they just say "Unexpected ... at line ...".

This is most problematic with constructs which can span an arbitrary number of lines, such
as blocks of code delimited by { }, 'if' conditions delimited by ( ), and so on. If a closing
delimiter is missed, the block will run for the entire remainder of the source file (which
could be thousands of lines), and then at the end, a parse error will be thrown with the
dreaded words: "Unexpected end of file".

Therefore, track the positions of opening and closing delimiters and ensure that they match
up correctly. If any mismatch or missing delimiter is detected, immediately throw a parse
error which points the user to the offending line. This is best done in the *lexer* and not
in the parser.

Thanks to Nikita Popov and George Peter Banyard for suggesting improvements.

Fixes bug #79368.
Closes GH-5364.
2020-04-14 11:22:23 +02:00
Máté Kocsis
fe9860c2b0 Improve the default value format in incompatible signature error messages
Closes GH-5361
2020-04-10 22:50:33 +02:00
Nikita Popov
8ba6a833de Merge branch 'PHP-7.4'
* PHP-7.4:
  Fixed bug #78434
2020-04-09 10:35:50 +02:00
Nikita Popov
823a956855 Fixed bug #78434
The DO_INIT flag, which will skip the first resume on a primed
generator, should always be set when starting to yield from a
new generator, not only when the yield from happens during priming.
2020-04-09 10:33:11 +02:00
Máté Kocsis
3709e74b5e Store default parameter values of internal functions in arg info
Closes GH-5353. From now on, PHP will have reflection information
about default values of parameters of internal functions.

Co-authored-by: Nikita Popov <nikita.ppv@gmail.com>
2020-04-08 18:37:51 +02:00
Nikita Popov
b3c7ab66fb Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fixed bug #79434
2020-04-02 16:34:21 +02:00
Nikita Popov
cf68bc413b Fixed bug #79434 2020-04-02 16:34:03 +02:00
Nikita Popov
3a7c716249 Remove unnecessary check in runtime_compile_time_binary_operands.phpt
Now that operator errors are detected more accurately, we no longer
have any cases where we throw a compile-time error instead of a
run-time exception, so we can drop this check now.
2020-04-01 14:49:52 +02:00
Nikita Popov
1ed132e2e5 Unify checks for binary operator errors for ct eval
Move everything into one function and share it with opcache.
This fixes some discrepancies.
2020-04-01 14:42:58 +02:00
Nikita Popov
cdaf35033d Improve "unsupported operands" error
By mentioning the operand types. We can do that now, as the
original operand types now remain available.

Closes GH-5330.
2020-04-01 11:26:43 +02:00
Nikita Popov
f182309e87 Refactor operator implementations
Instead of looping, use straight-line code with the following
layout:

1. Try to apply the base operation on the dereferenced operands.
2. Try overloaded object operations.
3. Try to convert operands to number, else error out.
4. Apply the base operation on the converted operands.

This makes the code easier to reason about and fixes some edge-case
bugs:

1. We should only try invoking operator overloading once prior to
   type conversion. Previously it was invoked both before and after
   type conversion.
2. We should not modify any values if an exception is thrown.
   Previously we sometimes modified the LHS of a compound assignment
   operator.
3. If conversion of the first operand fails, we no longer try to
   convert the second operand. I think the previous behavior here
   was fine as well, but this still seems a more typical.

This will also make some followup changes I have in mind simpler.
2020-03-31 20:49:39 +02:00
Nikita Popov
51f9cc6269 Add additional operator exception handling tests
These show that we may lose the old value of the LHS of a compound
assignment operator in some cases.
2020-03-31 18:36:42 +02:00
George Peter Banyard
55a3e5b99e Promote some warnings to Errors in Zend basic functions
Closes GH-5325
2020-03-31 16:32:58 +02:00
Máté Kocsis
36935e42ea Improve undefined variable error messages
Closes GH-5312
2020-03-31 13:02:32 +02:00
Michael Voříšek
2c82b832f6 Add test to make sure that (self::class)::method() is not forwarding LSB
Related with Bug #79419.

Closes GH-5310.
2020-03-30 15:26:19 +02:00
Nikita Popov
f74e30c07c Check abstract method signatures coming from traits
RFC: https://wiki.php.net/rfc/abstract_trait_method_validation

Closes GH-5068.
2020-03-26 10:07:22 +01:00
Nikita Popov
df79277de3 Revert "Fetch for read in nested property assignments"
This reverts commit bb43a3822e.

After thinking about this a bit more, this is now going to be
a complete solution for the "readonly properties" case, for example:

    unset($foo->readOnly->bar);

should also be legal and

    $foo->readOnly['bar'] = 42;

should also be legal if $foo->readOnly is not an array but an
ArrayAccess object.

I think it may be better to distinguish better on the BP_VAR flag
level. Reverting for now.
2020-03-18 14:54:43 +01:00
Nikita Popov
bb43a3822e Fetch for read in nested property assignments
$a->b->c = 'd';

is now compiled the same way as

    $b = $a->b;
    $b->c = 'd';

That is, we perform a read fetch on $a->b, rather than a write
fetch.

This is possible, because PHP 8 removed auto-vivification support
for objects, so $a->b->c = 'd' may no longer modify $a->b proper
(i.e. not counting interior mutability of the object).

Closes GH-5250.
2020-03-18 12:08:06 +01:00
Nikita Popov
4565a7f269 Fix assertion when (real) is used
And bring back a test for it...
2020-03-16 18:37:01 +01:00
George Peter Banyard
c9db32271a Remove deprecated (real) cast
Closes GH-5220
2020-03-12 15:40:21 +01:00
Christoph M. Becker
dcbf020f76 Merge branch 'PHP-7.4'
* PHP-7.4:
  Fix #79364: When copy empty array, next key is unspecified
2020-03-11 08:57:17 +01:00
Christoph M. Becker
a72b261db5 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Fix #79364: When copy empty array, next key is unspecified
2020-03-11 08:55:28 +01:00
Christoph M. Becker
2462f2dab1 Fix #79364: When copy empty array, next key is unspecified
We must not forget to keep the `nNextFreeElement` when duplicating
empty arrays.
2020-03-11 08:54:05 +01:00
Nikita Popov
d9219f997d Enable better trait conflict error message
I don't think there is any reason to disable this anymore,
at least all the messages generated in tests look correct and
more useful.
2020-03-10 16:19:11 +01:00
Nikita Popov
fff5771ccc Require non-absolute trait method refs to be unambiguous
Currently, when writing something like

class X {
    use T1, T2 {
       func as otherFunc;
    }
    function func() {}
}

where both T1::func() and T2::func() exist, we will simply assume
that func refers to T1::func(). This is surprising, and it doesn't
really make sense that this particular method gets picked.

This commit validates that non-absolute method references are
unambiguous, i.e. refer to exactly one method. If there is
ambiguity, it is required to write T1::func as otherFunc or
similar.

Closes GH-5232.
2020-03-10 16:01:13 +01:00
Máté Kocsis
f44dd16b7a Improve error message of foreach
Closes GH-5240
2020-03-09 11:29:40 +01:00
Nikita Popov
d95f465efa Merge branch 'PHP-7.4'
* PHP-7.4:
  Add test for bug #63816
2020-03-06 11:17:06 +01:00
Nikita Popov
c3ab8fd3f8 Add test for bug #63816
This has been fixed in PHP 7.4, add a test for it.
2020-03-06 11:16:47 +01:00
Nikita Popov
e9ae581f02 Fixed bug #62609: Allow implementing Traversable in abstract class
Master only, as this depends on fixes to calling order of
interface implementation handlers.
2020-03-06 11:12:43 +01:00
Nikita Popov
c05a9c3dcd Implement interfaces after all methods available
The place where interface implementation handlers is called is
currently ill-defined: If the class implements interfaces itself,
the handlers for both the parent interfaces and the new interfaces
will be called after all methods are registered (post trait use).
If the class does not implement interfaces, then the parent
interface handlers are called early during inheritance (before
methods are inherited).

This commit moves the calls to always occur after all methods are
available. For userland classes this will be post trait import,
at the time where interfaces get implemented (whether the class
itself defines additional interfaces or not). For internal classes
it will be at the end of inheritance, as internal class declarations
do not have proper finalization.

This allows us to simplify the logic for implementing the magic
Iterator / IteratorAggregate interfaces. In particularly we can
now also automatically detect whether an extension of
IteratorAggregate can safely reuse a custom get_iterator handler,
or whether it needs to switch to the userland mechanism. The
Iterator case continues to rely on ZEND_ACC_REUSE_GET_ITERATOR
for this purpose, as a wholesale replacement is not possible there.
2020-03-04 10:29:21 +01:00
Nikita Popov
2c5fcd57c0 Resolve trait alias refers to earlier
Make sure all trait method references are converted to absolute
method references in advance. This regresses one error message
that I don't think is particularly valuable.
2020-03-03 14:23:31 +01:00