| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
This testing mode executes the test multiple times in the same
process (but in different requests). It is primarily intended to
catch tracing JIT bugs, but also catches state leaks across
requests.
Closes GH-6365.
|
| |
|
|
| |
Closes GH-6278.
|
| |
|
|
|
| |
This should fix most of the remaining issues with tabs and spaces
being mixed in tests.
|
| |
|
|
| |
Closes GH-6004
|
| | |
|
| |
|
|
| |
Closes GH-5958
|
| |\
| |
| |
| |
| |
| | |
* PHP-7.4:
Check ps -p availability in process title test
Add privilege check in pcntl_unshare test
|
| | |
| |
| |
| | |
Privileges for CLONE_NEWPID were not checked.
|
| |\ \
| |/
| |
| |
| |
| |
| |
| | |
* PHP-7.4:
Check ps -p availability in proc_nice test
Set AI_CANONNAME flag in socket_addrinfo test
Add ipv6 skipif to test
Improve privilege check in pcntl_setpriority() test
|
| | |
| |
| |
| |
| | |
We need CAP_SYS_NICE privileges, which might not be available
just because we're running as root (Docker...)
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Closes GH-5779
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
A time limit can be set on PHP script execution via `set_time_limit` (or .ini file).
When the time limit is reached, the OS will notify PHP and `timed_out` and `vm_interrupt`
flags are set. While these flags are regularly checked when executing PHP code, once the
end of the script is reached, they are not checked while invoking shutdown functions
(registered via `register_shutdown_function`).
Of course, if the shutdown functions are implemented *in* PHP, then the interrupt flag
will be checked while the VM is running PHP bytecode and the timeout will take effect.
But if the shutdown functions are built-in (implemented in C), it will not.
Since the shutdown functions are invoked through `zend_call_function`, add a check of the
`vm_interrupt` flag there. Then, the script time limit will be respected when *entering*
each shutdown function. The fact still remains that if a shutdown function is built-in and
runs for a long time, script execution will not time out until it finishes and the
interpreter tries to invoke the next one.
Still, the behavior of scripts with execution time limits will be more consistent after
this patch. To make the execution time-out feature work even more precisely, it would
be necessary to scrutinize all the built-in functions and add checks of the `vm_interrupt`
flag in any which can run for a long time. That might not be worth the effort, though.
It should be mentioned that this patch does not solely affect shutdown functions, neither
does it solely allow for interruption of running code due to script execution timeout.
Anything else which causes `vm_interrupt` to be set, such as the PHP interpreter receiving
a signal, will take effect when exiting from an internal function. And not just internal
functions which are called because they were registered to run at shutdown; there are
other cases where a series of internal functions might run in the midst of a script. In
all such cases, it will be possible to interrupt the interpreter now.
Closes GH-5543.
|
| | | |
|
| | | |
|
| |\ \
| |/
| |
| |
| | |
* PHP-7.4:
Fix #78402: pcntl_signal() misleading error message
|
| | |\
| | |
| | |
| | |
| | | |
* PHP-7.3:
Fix #78402: pcntl_signal() misleading error message
|
| | | |
| | |
| | |
| | |
| | | |
An error message can be misleading when a handler
passed to pcntl_signal() is not callable.
|
| |\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | |
| | | |
* PHP-7.4:
Skip large ftruncate test if large files not supported
Don't test "blocks" in lstat_stat_variation7.phpt
Increase FD used in php://fd test
Use posix_getuid() to check for root in pcntl_setpriority() test
|
| | | |
| | |
| | |
| | |
| | | |
Using SUDO_USER doesn't seem to work on Travis ARM CI -- I guess
that sudo might be in use without the target being root.
|
| |\ \ \
| |/ / |
|
| | | |
| | |
| | |
| | |
| | | |
This test often fails under asan/msan with a timeout for unknown
reasons.
|
| |\ \ \
| |/ / |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Also adds an --asan flag to run-tests.php to setup all the necessary
environment variables. Some tests are marked as skipped because they
are incompatible with asan or too slow.
I'm basing this on the DEBUG_ZTS build, which seems to give us the
most mileage.
|
| |\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
disable this test temporarily
|
| | | | |
|
| |\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.4:
fix mac tests on azure
|
| | | | |
|
| |/ / |
|
| | | |
|
| |\ \
| |/ |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| |/ / |
|
| |/
|
|
| |
EXPECTF logic in run-tests.php is considerable, so let's avoid it.
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bug #73783 raises an issue with signal handling when using SIG_IGN.
With PHP7.1 ZEND_SIGNALS is defaulted to on, which will for all
signals set the handler as zend_signal_handler_defer. This is
problematic for syscalls like sleep(), which will only return when the
requisite number of seconds have elapsed, or, a non-ignored signal is
raised. In this case we want to SIG_IGN SIGCHLD, however, SIG_IGN is
only stored in the SIGG(handlers) array, and the actual system level
handler is defined. This prevents proper signal ignoring when requeted.
|
| | | |
|
| |/ |
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| | |
Feature will utilize already available siginfo parsing
and extend the handler for signals to provide an array
of the siginfo_t data.
RFC:https://wiki.php.net/rfc/additional-context-in-pcntl-signal-handler
|
| |/
|
|
| |
Test was failing on Fedora.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch addresses https://bugs.php.net/bug.php?id=72409
This patch is applied to master compared to PR#1952 which was
patching 5.6.x branch of PHP
This patch takes into account discussions on PR #1978
Addressing that rather than have pcntl_signal() return a value
to create a new function that can be used to get the current
value of the signal handler.
|