| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
* PHP-7.3:
Remove .post files only for passing tests
|
| |\
| | |
| | |
| | |
| | | |
* PHP-7.2:
Remove .post files only for passing tests
|
| | |
| | |
| | |
| | | |
This allows the sh script for failing tests with --POST-- to work
|
| | |
| | |
| | |
| | |
| | | |
It does nothing on 7.3, but this makes it easier to write tests in
3rd party extensions.
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- when $status is boolean, E_NOTICE appears and tests fail
- opcache is never enabled on these tests anyway.
- Add opcache.revalidate_freq=0 to testing script
Instead of checking this in the tests files it can be used directly in
the main testing script. Also this fixes failed tests.
- Use opcache_invalidate() instead of sleep() delay in some tests. Some
delays are still used since the opcache_invalidate seems to be buggy
and not working as expected.
Closes GH-4392
|
| | |
| | |
| | |
| | | |
RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The classic Windows console only supports the Unicode BMP, so it can't
handle the LIGHTNING MOOD character (U+1F5F2). It also seems that
common fonts do not support the LIGHTNING (U+2607) character, so a
general removal is appropriate.
However, Windows is already "ready for the future"[1], but PHP for
Windows is not (yet).
[1] <https://devblogs.microsoft.com/commandline/windows-command-line-unicode-and-utf-8-output-text-buffer/>
|
| | |
| | |
| | |
| | | |
Windows is not quite ready for the future.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Formerly, there was at most a single OPcache instance per user and the
so called system ID (which is determined from the PHP version).
Sometimes multiple OPcaches might be desired, though, particularly for
unrelated CLI scripts, which may even be necessary (e.g. for our test
suite in parallel mode).
We therefore introduce a new INI directive `opcache.cache_id` which
allows to configure independent OPcache instances for the same user.
We also use `GetUserNameW()` instead of `php_win32_get_username()`,
because the latter retrieves the user name encoded in the
`default_charset`, which can obviously yield different results for
different charsets, leading to OPcache "incompatibilities". Slightly
worse, some characters may not even be encodeable in the
`default_charset` and would be replaced by question marks, which could
result in different users sharing the same OPcache.
We also refactor, and re-use existing APIs to avoid duplicated code.
|
| | |
| | |
| | |
| | | |
Closes GH-4397
|
| | |
| | |
| | |
| | |
| | | |
Azure does not show the classname attribute in any convenient way,
and the file name is the part we usually care about.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
If we're testing ini settings that cause startup failures, we'll
never get to that SKIPIF block...
Also change settings2param to return a value instead of modifying
(to a different type no less!) in place.
|
| | |
| | |
| | |
| | | |
die/exit leak memory, don't use them if we don't need to.
|
| | |
| | |
| | |
| | |
| | | |
USE_ZEND_ALLOC=0 is useful not just for valgrind ... we should not
force USE_ZEND_ALLOC=1 if the user explicitly disabled it.
|
|\ \ \
| |/ / |
|
| |\ \
| | |/ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Also add PHP_TEST_EXTRA_ARGS environment variable, which allows
to pass on -c, -d etc flags provided by run-tests.php. Otherwise
we won't get the built-in server to run with opcache.
|
| | |
| | |
| | |
| | | |
It looks like this was accidentally removed in 03f15f705ad30ce2dde7f7b2ab087a132b859ba0
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This printing shouldn't depend on NO_INTERACTION, the variable that
controls this is SHOW_ONLY_GROUPS.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
We don't have nestead testsuites or similar, so drop this confusing
key.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Add XLEAK section, this is made necessary by the support
for valgrind tools other than memcheck.
XLEAK is to a leaking test what XFAIL is to a failing test.
Tidy up summary a little to exclude Expected Fail and Expected Leak
when there are no expected fail/leaks
|
| | | |
|
|\ \ \
| |/ /
| | |
| | |
| | | |
* PHP-7.3:
Add {TMP} placeholder for PHPT INI sections
|
| |\ \
| | |/
| | |
| | |
| | | |
* PHP-7.2:
Add {TMP} placeholder for PHPT INI sections
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Several tests use `/tmp` in the `--INI--` section, but this is not
portable. We therefore introduce the `{TMP}` placeholder which
evaluates to the system's temporary directory using
`sys_get_temp_dir()`.
We also remove the doubtful `strpos()` optimization.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This integrates a simple minimum PHP version info in the tool and to
also define the minimum version that the tool syntax should support.
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This looked rather awkward even on terminals that have full unicode
support.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Motivation:
As an extension author, I want to speed up running tests in php <=7.3,
both locally and in CI (e.g. with valgrind).
This can be done by manually copying php 7.4's run-tests.php script
to replace the one generated by `phpize`
- list() doesn't work in php 7.0
- negative string offset doesn't work in php 7.2
If run-tests.php can be copied from php-src without any manual patches,
that would be the easiest.
Related to #2822 - I didn't see any discussion for/against compatibility
with older php versions
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | |
| | |
| | |
| | |
| | | |
uniqid() is not necessarily unique when multiple testing processes
run in parallel.
|
| | |
| | |
| | |
| | |
| | | |
Makes it easier to find paralellization issues. Of course only works
if the tests aren't order-dependent...
|
| | |
| | |
| | |
| | | |
You pretty much always want to run with -P, make it the default.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Tests can specify conflict keys, either in --CONFLICTS-- or
a per-directory CONFLICTS file. Non-conflicting tests may be run
in parallel.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|