Peter Kokot [Thu, 21 Feb 2019 21:46:41 +0000 (22:46 +0100)]
Replace Hebrew characters with escape sequences
calendar.c includes ISO-8859-8 encoded Hebrew characters, which may
cause compile errors, and is causing issues when saving file as UTF-8.
This patch replaces characters with appropriate escape sequences.
Nikita Popov [Fri, 22 Feb 2019 14:42:37 +0000 (15:42 +0100)]
Fix anon class handling in ext mode
Opcode order changes in 7.4 and the EXT_STMT is now declare the
DECLARE_ANON. Fix this by returning the opline from compile_class_decl
to avoid any fragile opcode searching.
Nikita Popov [Thu, 21 Feb 2019 15:59:30 +0000 (16:59 +0100)]
Stricter validation for popen mode argument on Windows
Context: The ext/standard/tests/file/popen_pclose_error-win32.phpt
test often fails under parallel testing, because the "is not recognized
as an internal or external command" message doesn't actually have a
guaranteed position in the output.
While looking into this, I noticed that this test on Windows tests
something very different (invalid comand) than on Linux (invalid mode).
Here I'm adjusting the Windows popen implementation so it immediately
fails on a `rw` mode, just like it does on Linux.
Joe Watkins [Thu, 21 Feb 2019 22:54:26 +0000 (23:54 +0100)]
While the compiler does not have the FBC set for zend_get_call_op, optimizer does, and so incorrectly results in ignoring these flags.
If someone has a better patch, please merge it ASAP, this appears to be correct as I and Nikita originally thought.
Revert "Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags""
Joe Watkins [Thu, 21 Feb 2019 21:40:02 +0000 (22:40 +0100)]
Revert "zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags"
Peter Kokot [Wed, 20 Feb 2019 20:08:56 +0000 (21:08 +0100)]
Remove unused PDO_MYSQL_LIB_CHK m4 macro
This was once used by the ext/mysql extension named as MYSQL_LIB_CHK.
The call got removed via fd1578c196575c7e120a84ee030bb87c14a199b0. In
PDO this is not called anymore and can be removed.
Nikita Popov [Thu, 21 Feb 2019 14:49:37 +0000 (15:49 +0100)]
Remove use of file resources from string function tests
These tests are pointless (they don't even have anything to do
with resources, they just use get_resource_type() as a peculiar way
to create a string), and cause unnecessary IO dependency.
Nikita Popov [Thu, 21 Feb 2019 14:29:22 +0000 (15:29 +0100)]
Make (v)fprintf tests more robust
By using a separate file for each test. Also drop some unnecessary
SKIPIF checks for file creation. We assume that files can be created in
the test directories all over the place, so don't check for it here.
Nikita Popov [Thu, 21 Feb 2019 12:42:47 +0000 (13:42 +0100)]
Fixed bug #77597
The same variable was reused in two nested loops... The test doesn't
fail on 7.2, but I'm fixing this here anyway as the code is clearly
wrong, and probably erroneous in other situations.
Nikita Popov [Thu, 21 Feb 2019 11:04:49 +0000 (12:04 +0100)]
Fix issue mentioned in #77302
Apparently Serializable::serialize() can return NULL, which is encoded
as N;. As we do not allow back-references to non-object values in
PHP 7.3 we need to make sure that any references are also compiled to
N;.
Joe Watkins [Thu, 21 Feb 2019 07:53:28 +0000 (08:53 +0100)]
zend_get_call_op ignoring compiler flags zend_get_call_op will ignore ZEND_COMPILE_IGNORE_USER_FUNCTIONS and ZEND_COMPILE_IGNORE_USER_FUNCTIONS, breaking the intention of these flags
Nikita Popov [Thu, 21 Feb 2019 08:35:30 +0000 (09:35 +0100)]
Add special "all" conflict
If a test conflicts with "all", then no other tests may be run in
parallel. This is needed for windows_mb_path tests, which rely on
the console codepage, which is shared across all parallel workers.
Also add support for comments in the CONFLICTS section/file.
Nikita Popov [Tue, 19 Feb 2019 15:15:01 +0000 (16:15 +0100)]
Make ext/spl/tests/bug42364.phpt more robust
If tests are run in parallel, files may be created and deleted in
the directory. Create a separate directory just for this test to
avoid this dependence.
Nikita Popov [Mon, 18 Feb 2019 14:36:39 +0000 (15:36 +0100)]
Make parallel run-tests compatible with IO capture tests
Inherit the main stdin/stdout/stderr streams into the worker processes.
We don't talk to workers via these pipes, so there shouldn't be a
problem doing this.