Commit Graph

833 Commits

Author SHA1 Message Date
Christoph M. Becker
790b0b109a Fix handling of succeeding XFAIL tests
Due to a typo in commit e1151c9[1], succeeding XFAIL test without an
EXPECTF or EXPECTREGEX section have been reported reported as passed
instead of warned.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=e1151c9549cf5a7235c1609019f79bbb1bbcdbea>
2019-08-05 11:38:47 +02:00
Levi Morrison
d758691b9b Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Remove .post files only for passing tests
2019-07-25 09:50:47 -06:00
Levi Morrison
c624a7fe43 Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Remove .post files only for passing tests
2019-07-25 09:49:18 -06:00
Levi Morrison
5649267b25 Remove .post files only for passing tests
This allows the sh script for failing tests with --POST-- to work
2019-07-25 09:48:39 -06:00
George Peter Banyard
6d6d954d0d Cleanup of remaining E_STRICT in tests 2019-07-23 11:27:23 +02:00
Peter Kokot
b1643e166d Fix failed tests for phar
- 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
2019-07-21 00:49:35 +02:00
rjhdby
d574df63dc Deprecate alternative array access syntax
RFC: https://wiki.php.net/rfc/deprecate_curly_braces_array_access
2019-07-19 10:06:10 +02:00
Christoph M. Becker
55d34f7023 Remove remaining lightnings from run-tests.php
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/>
2019-07-18 12:15:25 +02:00
Nikita Popov
562591f5eb Remove lightning
Windows is not quite ready for the future.
2019-07-18 11:16:24 +02:00
Christoph M. Becker
e2ed7e6716 Allow multiple cache instances per user/host on Windows
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.
2019-07-17 19:51:07 +02:00
Peter Kokot
f5e4771824 Remove checks for always enabled spl and pcre
Closes GH-4397
2019-07-13 14:47:37 +02:00
Nikita Popov
c02dfddda3 Include test name in JUnit testcase name
Azure does not show the classname attribute in any convenient way,
and the file name is the part we usually care about.
2019-07-11 12:46:56 +02:00
Nikita Popov
3fa9f9cfae Add CONFLICTS to recognized sections
It does nothing on 7.3, but this makes it easier to write tests in
3rd party extensions.
2019-07-10 13:09:06 +02:00
Nikita Popov
54dd762f59 Set up asan+ubsan scheduled build on azure
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.
2019-06-28 15:00:54 +02:00
Nikita Popov
b195412bf3 run-tests: Don't pass --INI-- settings to --SKIPIF--
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.
2019-06-28 09:17:09 +02:00
Nikita Popov
74a7d00846 run-tests: Don't die unnecessarily
die/exit leak memory, don't use them if we don't need to.
2019-06-25 14:28:58 +02:00
Nikita Popov
3a36e68c49 Don't force USE_ZEND_ALLOC=0 in run-tests.php
USE_ZEND_ALLOC=0 is useful not just for valgrind ... we should not
force USE_ZEND_ALLOC=1 if the user explicitly disabled it.
2019-06-25 10:25:44 +02:00
Nikita Popov
da275e6214 Merge branch 'PHP-7.3' into PHP-7.4 2019-06-13 12:41:01 +02:00
Nikita Popov
ee137a7033 Merge branch 'PHP-7.2' into PHP-7.3 2019-06-13 12:38:57 +02:00
Nikita Popov
f8a68fd935 Add test for bug #78106
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.
2019-06-13 12:35:29 +02:00
Joe Watkins
bed8ae1d0f
junit testcase classname is used as filename on azure 2019-06-05 19:27:50 +02:00
Joe Watkins
22213de179
only clear when showing in parallel runner 2019-06-01 06:13:30 +02:00
Nikita Popov
4ef7f70987 Fix NO_INTERACTION handling in parallel test runner
This printing shouldn't depend on NO_INTERACTION, the variable that
controls this is SHOW_ONLY_GROUPS.
2019-05-31 14:03:22 +02:00
Nikita Popov
dd2bf44869 Add junit support for parallel test runner 2019-05-31 12:38:06 +02:00
Nikita Popov
137747bdaf run-tests: Remove redundant 'suites' key
We don't have nestead testsuites or similar, so drop this confusing
key.
2019-05-31 12:04:23 +02:00
Joe Watkins
a3879208c5
have parallel test runner respect NO_INTERACTION 2019-05-30 07:46:31 +02:00
Nikita Popov
24e22eb31b Run sapi tests when running all tests 2019-05-29 17:07:12 +02:00
Craig Duncan
72c330f1e6 Restore the execute bit for run-tests.php
It looks like this was accidentally removed in 03f15f705a
2019-05-28 21:51:26 +01:00
Joe Watkins
979e7d0fee
fix notice in run-tests 2019-05-23 13:09:18 +02:00
Joe Watkins
e1151c9549
run-tests improvements:
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
2019-05-23 10:55:25 +02:00
Joe Watkins
536532c572
add support for valgrind tools to run-tests.php 2019-05-22 20:20:13 +02:00
Christoph M. Becker
ec10e191c4 Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
  Add {TMP} placeholder for PHPT INI sections
2019-05-08 19:26:02 +02:00
Christoph M. Becker
236522529c Merge branch 'PHP-7.2' into PHP-7.3
* PHP-7.2:
  Add {TMP} placeholder for PHPT INI sections
2019-05-08 19:22:21 +02:00
Christoph M. Becker
3d0a0f801b 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.
2019-05-08 19:21:38 +02:00
Peter Kokot
434388a610 Add minimum required PHP version to run-tests.php
This integrates a simple minimum PHP version info in the tool and to
also define the minimum version that the tool syntax should support.
2019-03-26 22:31:01 +01:00
Nikita Popov
071ffa2e79 Don't use parallel testing with -j1 2019-03-25 14:15:26 +01:00
Nikita Popov
3c61972451 Drop lightning for concurrent worker count
This looked rather awkward even on terminals that have full unicode
support.
2019-03-25 14:13:10 +01:00
Tyson Andre
936356bf1e Make run-tests.php compatible with php 7.0-7.2
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
2019-03-25 13:58:22 +01:00
Nikita Popov
152e5393e5 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.
2019-02-21 11:04:43 +01:00
Nikita Popov
967fa51db0 Don't use uniqid for temporary POST data files
uniqid() is not necessarily unique when multiple testing processes
run in parallel.
2019-02-20 16:01:15 +01:00
Nikita Popov
e5304bb647 Add a --shuffle mode to run-tests
Makes it easier to find paralellization issues. Of course only works
if the tests aren't order-dependent...
2019-02-20 15:59:13 +01:00
Nikita Popov
57fef27521 Use PHP_BINARY by default in run-tests.php
You pretty much always want to run with -P, make it the default.
2019-02-20 12:38:40 +01:00
Nikita Popov
c0e15a3b7f Implement fine-grained conflict handling
Tests can specify conflict keys, either in --CONFLICTS-- or
a per-directory CONFLICTS file. Non-conflicting tests may be run
in parallel.
2019-02-20 11:20:40 +01:00
Dmitry Stogov
555fb294ec Don't preload tests without --FILE-- section 2019-02-20 00:06:57 +03:00
Dmitry Stogov
b2073253bf Better new-line handling 2019-02-19 19:22:42 +03:00
Nikita Popov
fa915614fe 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.
2019-02-19 15:53:15 +01:00
Dmitry Stogov
5cde3afda7 Better line handling 2019-02-19 17:16:48 +03:00
Dmitry Stogov
bf51b081f5 Filter preloading warning messages 2019-02-19 17:09:07 +03:00
Andrea Faulds
5ee81e0b9d run-tests.php: fix typo 2019-02-18 20:32:16 +01:00
Andrea Faulds
39792f5bb7 run-tests.php: experimental parallel testing support 2019-02-18 14:58:53 +01:00
Nikita Popov
b7b3a600cb Don't suppress errors during in preload testing 2019-02-18 11:03:38 +01:00
Andrea Faulds
6662fb5c8f run-tests.php: fix all tab-space indentation inconsistency 2019-02-16 01:54:16 +01:00
Andrea Faulds
41fbeb6c56 run-tests.php: move all top-level code into a function
Prerequisite for parallelised testing:
https://github.com/php/php-src/pull/2822

Quoth Nikita @
https://github.com/php/php-src/pull/3789#issuecomment-462724550:

> @hikari-no-yume Please feel free to directly commit the first commit
> (to PHP-7.4). That's probably a big and unnecessary source of
> conflicts, and makes reviewing harder as well.
2019-02-16 01:05:04 +01:00
Nikita Popov
a2e9534798 Add a --preload testing mode to run-tests.php
Not intended for general use, it has many false positives.
2019-02-15 11:23:23 +01:00
Peter Kokot
92ac598aab Remove local variables
This patch removes the so called local variables defined per
file basis for certain editors to properly show tab width, and
similar settings. These are mainly used by Vim and Emacs editors
yet with recent changes the once working definitions don't work
anymore in Vim without custom plugins or additional configuration.
Neither are these settings synced across the PHP code base.

A simpler and better approach is EditorConfig and fixing code
using some code style fixing tools in the future instead.

This patch also removes the so called modelines for Vim. Modelines
allow Vim editor specifically to set some editor configuration such as
syntax highlighting, indentation style and tab width to be set in the
first line or the last 5 lines per file basis. Since the php test
files have syntax highlighting already set in most editors properly and
EditorConfig takes care of the indentation settings, this patch removes
these as well for the Vim 6.0 and newer versions.

With the removal of local variables for certain editors such as
Emacs and Vim, the footer is also probably not needed anymore when
creating extensions using ext_skel.php script.

Additionally, Vim modelines for setting php syntax and some editor
settings has been removed from some *.phpt files.  All these are
mostly not relevant for phpt files neither work properly in the
middle of the file.
2019-02-03 21:03:00 +01:00
Zeev Suraski
0cf7de1c70 Remove yearly range from copyright notice 2019-01-30 11:03:12 +02:00
Stanislav Malyshev
05776094f7 Merge remote-tracking branch 'github/pr/3345'
* github/pr/3345:
  Update Coding style
2018-12-02 16:00:44 -08:00
Christoph M. Becker
1acac320c5 Clean up server-tests.php remains
sapi/tests/ has been introduced as a generic means to test different
SAPIs[1].  run-tests2.php has later be renamed to server-tests.php and
recently been dropped[2].  However, the sapi/tests/test00?.php test
cases remained, even though they make no sense for run-tests.php,
since they use an unsupported format for the `--ENV--` section and the
completely unsupported `--HEADERS--` section, respectively.  While
these tests ran successfully under run-tests.php, that was only by
accident, and they did not really test something useful.  Therefore, we
remove these tests altogether.

sapi/tests/bug69487.phpt is actually a CGI test (CGI is enforced due to
the `--POST--` section), so we move it to sapi/cgi/tests, which leaves
sapi/tests/ empty.  Thus, we also remove the sapi/ directory from
run-tests.php.

Finally, we remove the `--HEADERS--` and `--REQUEST--` sections from
the list of allowed run-tests.php sections.

[1] <http://git.php.net/?p=php-src.git;a=commit;h=b671380b6b5b6e1f4f235e810afa4199e989d2ba>
[2] <http://git.php.net/?p=php-src.git;a=commit;h=4f36acb9e65935aa657f1f22e2320a401bdbdad3>
2018-11-23 16:24:51 +01:00
Nikita Popov
62dc39edda Document --show-mem as a valid run-tests.php option
[ci skip]
2018-11-23 16:15:40 +01:00
Dmitry Stogov
f6d227ed4f Implemented preloading RFC: https://wiki.php.net/rfc/preload.
Squashed commit of the following:

commit 106c815fffb8eb3efe00a27a5229cb1f8ffc9736
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 14 16:36:44 2018 +0300

    Added NEWS entry

commit 1dacd5e20b7043368ef9e80db296d1781134b6fd
Merge: d516139abf ba99aa133c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 14 16:33:37 2018 +0300

    Merge branch 'master' into preload

    * master:
      Fixed issues related to optimization and persitence of classes linked with interfaces, traits or internal classes.
      Added possiblity to avoid signal handlers reinitialization on each request.

commit d516139abf5ffbd495ee6037f1dc04a1cfe588a7
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 14 16:13:15 2018 +0300

    Override opcache.preload for testing

commit 162b154d0bbfbaf8ef93975f7e56a1353236903d
Merge: 45fdd034ce 8bda22592e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 14 15:38:09 2018 +0300

    Merge branch 'master' into preload

    * master: (34 commits)
      Eliminate useless $this related check
      Eliminate useless $this related checks
      Replace zend_parse_method_parameters() by zend_parse_parameters() and avoid useless checks.
      Replace getThis() by EX(This), when additional check is not necessary.
      Fixed tests
      Validate length on socket_write
      Fix compilation on x32
      Fix #77141: Signedness issue in SOAP when precision=-1
      Support SQLite3 @name notation
      Remove lexer files generated by RE2C
      Update libmagic.patch [ci skip]
      Update libmagic.patch [ci skip]
      Fork test with pcre.jit=0
      Rework magic data
      Fix regex
      Fix regex
      Rework magic data
      Sync one more upstream libmagic piece
      Suppress already used warning
      Ignore getaddrinfo failed message
      ...

commit 45fdd034ce
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 9 13:07:03 2018 +0300

    Properly resolve magic method of preloaded classes inherited from internal ones.

commit 34645aeb42
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 8 15:29:17 2018 +0300

    Don't preload constants defined during preload script excution.

commit cef0d67c3e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 7 15:56:54 2018 +0300

    Support for class aliasses

commit 08ffc9a552
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Nov 7 15:34:39 2018 +0300

    Resolve constants only in linked classes

commit 8d3429cda8
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Nov 6 11:56:39 2018 +0300

    Fixed preloading of references to internal classes.

commit 7ae3a47d20
Merge: 9b0a53ed1c 049f239cfc
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Nov 6 11:37:15 2018 +0300

    Merge branch 'master' into preload

    * master:
      Update NEWS [ci skip]
      Update NEWS [ci skip]
      Update libmagic.patch [ci skip]
      Update libmagic.patch [ci skip]
      Declare function proto in header
      Declare function proto in header
      Fix #76825: Undefined symbols ___cpuid_count
      NEWS
      Fix: #77110 undefined symbol zend_string_equal_val in C++ build
      Fix #77105: Use position:sticky for <th> in `phpinfo()`
      Implement handling for JIT recognition when cross compiling
      Backport 7f5f4601 for 7.2
      Fix #76348: WSDL_CACHE_MEMORY causes Segmentation fault
      Rework places in libmagic regarding previous CVE-2014-3538 fixes
      Change the way JIT availability is checked
      Fix a test for ldap extension
      Fixed bug #77092
      Future-proof email addresses

commit 9b0a53ed1c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 2 14:54:44 2018 +0300

    We don't need preload_restart() here

commit 0bd17bd438
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 2 14:44:30 2018 +0300

    EG(*) may be not initializd at this point - use CG(*).

commit b610467051
Merge: 3a9d90f74a 67e0138c0d
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Nov 2 11:33:37 2018 +0300

    Merge branch 'master' into preload

    * master:
      Future-proof email addresses...
      Update email addresses.  We're still @Zend, but future proofing it...

commit 3a9d90f74a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 1 15:19:48 2018 +0300

    Fexed resolution of method clones

commit aea85c65bd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 1 11:45:50 2018 +0300

    Prevent inlining of method copied from trait

commit 36b644fbb7
Merge: 7a20781d2e b91690c892
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Nov 1 10:56:02 2018 +0300

    Merge branch 'master' into preload

    * master:
      Fix stray newline that caused this test to fail
      Fix session tests that fail if error_log is set
      This test needs to log to stdout
      Fix error condition
      Fixed bug #77081 ftruncate() changes seek pointer in c mode
      Fix and improve test case

commit 7a20781d2e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 31 00:52:46 2018 +0300

    Added test

commit 4a57b5d563
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 31 00:50:21 2018 +0300

    Fixed preloading of classes linked with traits

commit 68c4f99e23
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 30 16:25:14 2018 +0300

    Added test

commit 38ab7ef4cf
Merge: eb6e2c529f bf38e6c10a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 30 16:14:39 2018 +0300

    Merge branch 'master' into preload

    * master:
      Keep original value of "prototype"

commit eb6e2c529f
Merge: 562049510f 2fefa8c61e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 30 15:35:39 2018 +0300

    Merge branch 'master' into preload

    * master:
      Call function_add_ref() in proper place
      Updated to version 2018.7 (2018g)
      Updated to version 2018.7 (2018g)
      Updated to version 2018.7 (2018g)
      Reslove inherited op_array references once afrer all optimizations.

commit 562049510f
Merge: e806cb732a 4828fb7b6b
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 30 10:29:49 2018 +0300

    Merge branch 'master' into preload

    * master:
      [ci skip] Update NEWS
      [ci skip] Update NEWS
      [ci skip] Update NEWS
      fix bug #77079
      Add missing null initialization
      Remove redundant mbfl_string_init calls
      Use zend_string for mbstring last encoding cache

commit e806cb732a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 22:32:15 2018 +0300

    Fixed double-free

commit 2f697ef8af
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 22:07:32 2018 +0300

    typo

commit c559f22b3e
Merge: 310631cc05 ea2e67876a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 21:59:27 2018 +0300

    Merge branch 'master' into preload

    * master:
      Stop Apache if PHP wasn't started successful.
      Execute zend_post_startup() with module_initialized flag set.
      Removed dead code
      Fix mb_strrpos() with encoding passed as 3rd param

commit 310631cc05
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 16:48:42 2018 +0300

    Stop Apache if PHP wasn't started successful.

commit 0a24d7ba8f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 16:25:49 2018 +0300

    Avoid use-after-free in main thread

commit 17a3cb4a2a
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 15:25:17 2018 +0300

    Execute zend_post_startup() with module_initialized flag set.

commit 6d4b22c518
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 14:12:20 2018 +0300

    Override SAPI.ub_write and SAPI.flush for preloading

commit 386c9d3470
Merge: d7fbb4d402 359f19edc9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 29 13:49:24 2018 +0300

    Merge branch 'master' into preload

    * master:
      Optimize substr() edge-case conditions
      [ci skip] Update UPGRADING
      Fix #71592: External entity processing never fails
      Add TIDY_TAG_* constants supported by libtidy 5
      Add is_iterable to opcache Optimizer

commit d7fbb4d402
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 26 13:11:54 2018 +0300

    Restore preload state if it was already loaded in another process.

commit 0fe9ea1c07
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 26 12:29:06 2018 +0300

    Removed dead code

commit 3a2d1bcc1f
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 26 00:19:40 2018 +0300

    Support for builds without ZEND_SIGNALS

commit e6b76ecb4b
Merge: 4531fbf931 68694c9997
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 23:43:25 2018 +0300

    Merge branch 'master' into preload

    * master:
      Don't wrap php_module_shutdown() with zend_try. executor_globals are released in ZTS build, and this leads to crash.
      [ci skip] Fix indentation in UPGRADING.

commit 4531fbf931
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 22:44:49 2018 +0300

    Disable linking and preloading of classes those parent or one of interface or trait is an internal class.

commit a594a618ce
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 22:30:51 2018 +0300

    Cleanup

    - remove useless ZCSG(saved_map_ptr_last)
    - move preloaded classes/functions clean-up code back into better place

commit ab9a40f63c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 20:52:51 2018 +0300

    Added support for preloaded classes/functions in ZTS build

commit e3c65db099
Merge: 4f57c1e029 33e777acbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 20:52:26 2018 +0300

    Merge branch 'master' into preload

    * master:
      Improved shared interned strings handling. The previous implementation worked incorrectly in ZTS build. It changed strings only in function/class tables of one thread. Now all threads gets the same shared interned strings. Also, on shutdown, we don't try to replace SHM interned strings back to process strings, but delay dettachment of SHM instead.
      Don't use request heap at shutdown
      Don't optimize function if inference failed
      Fixed bug #77058
      Improve "narrowing" error message
      bump versions

commit 4f57c1e029
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 15:29:58 2018 +0300

    Cleanup (move preload_shutdown() call to better place)

commit 26587a95c0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 14:30:51 2018 +0300

    eol

commit d70cb10480
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 14:30:20 2018 +0300

    cleanup

commit aabe685dbb
Merge: d9fc51bc3b 40808ac41e
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Thu Oct 25 12:42:51 2018 +0300

    Merge branch 'master' into preload

    * master:
      Remove unused var
      Remove ext/json parser files generated by bison
      Fix run-tests.php for running phpdbg and certain test sections
      Normalize .gitignore

commit d9fc51bc3b
Merge: b5ffba0faf b6ef8998d5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 24 15:59:24 2018 +0300

    Merge branch 'master' into preload

    * master:
      Fixed reseting of interned strings buffer.

commit b5ffba0faf
Merge: e4a7ef0c43 a404383118
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 24 12:46:28 2018 +0300

    Merge branch 'master' into preload

    * master:
      Fixed build in directory different from source

commit e4a7ef0c43
Merge: 811f20aaa5 d1e14e2cc0
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 24 11:59:43 2018 +0300

    Merge branch 'master' into preload

    * master: (29 commits)
      Make php_plain_files_wrapper to be writable (workaround for swoole)
      Remove phpdbg parser files generated by bison
      Fix conflicts in phpdbg parser
      Refetetch function name on exceptional path to allow better code on fast code path.
      fix typo in sysvsem.c
      Fixed bug #50675
      bump to 7.2.13-dev
      [ci skip] Update NEWS wrt. php-7.3.0RC4 tagging
      Inlining in the most frequently used code paths
      Fixed test failurs introduced by 9c144e0d82
      Use persistent strings only for persistent connections
      Fix accessibility checks for dynamic properties
      Updated to version 2018.6 (2018f)
      Updated to version 2018.6 (2018f)
      Updated to version 2018.6 (2018f)
      Fix arginfo and clean up fpm_get_status
      Defragment two Zend related Makefile fragments together
      [ci skip] Remove automake and aclocal in comments
      Fix #75282: xmlrpc_encode_request() crashes
      Fix tests for ICU 63.1
      ...

commit 811f20aaa5
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 22 14:10:49 2018 +0300

    Added information about preloading to opcache_get_status()

commit 093e8b1bbf
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 19 13:46:23 2018 +0300

    Added warning message

commit a2ba970ce3
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 19 13:35:40 2018 +0300

    Added test

commit b67e28367c
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 19 13:33:12 2018 +0300

    Don't preload functions declared at run-time.

commit b0139dc228
Merge: a609520adb 3fe698b904
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Fri Oct 19 13:23:14 2018 +0300

    Merge branch 'master' into preload

    * master:
      Mark "top-level" functions.
      Don't initialize static_member_tables during start-up, when inherit internal classes.
      [ci skip] Update NEWS
      [ci skip] Update NEWS
      [ci skip] Update NEWS
      Fix #77035: The phpize and ./configure create redundant .deps file
      Remove outdated PEAR artefacts
      Fix tests/output/bug74815.phpt generating errors.log
      Revert "Use C++ symbols, when C++11 or upper is compiled"
      Use C++ symbols, when C++11 or upper is compiled
      Added new line
      Remove stamp-h
      Move all testing docs to qa.php.net
      Fix a typo in UPGRADING.INTERNALS
      Fix test when it's run on another drive
      [ci skip] Update UPGRADING wrt. tidyp support
      Fixed incorrect reallocation
      Fix #77027: tidy::getOptDoc() not available on Windows
      Run CI tests under opcache.protect_memory=1

commit a609520adb
Merge: ac8f45f61b b6ac50f9e6
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 17:01:05 2018 +0300

    Merge branch 'master' into preload

    * master:
      Fixed comment
      Micro optimizations
      Mark "top-level" classes

commit ac8f45f61b
Merge: 632b30b545 d57cd36e47
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 15:53:41 2018 +0300

    Merge branch 'master' into preload

    * master:
      Immutable clases and op_arrays.

commit 632b30b545
Merge: d33908a99a cd0c36c3f9
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 15:04:43 2018 +0300

    Merge branch 'immutable' into preload

    * immutable:
      Remove the "auto" encoding
      Fixed bug #77025
      Add vtbls for EUC-TW encoding

commit cd0c36c3f9
Merge: 4740dabb84 ad6738e886
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 14:43:38 2018 +0300

    Merge branch 'master' into immutable

    * master:
      Remove the "auto" encoding
      Fixed bug #77025
      Add vtbls for EUC-TW encoding

commit d33908a99a
Merge: 21e0bebca3 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 14:14:23 2018 +0300

    Merge branch 'immutable' into preload

    * immutable:
      Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.

commit 4740dabb84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 14:12:28 2018 +0300

    Reverted back ce->iterator_funcs_ptr. Initialize ce->iterator_funcs_ptr fields in immutable classes.

commit 21e0bebca3
Merge: c78277ae84 ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 12:29:59 2018 +0300

    Merge branch 'immutable' into preload

    * immutable:
      Added comment
      Added type cast
      Moved static class members initialization into the proper place.
      Removed redundand assertion
      Removed duplicate code
      Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.
      typo
      Remove unused variable makefile_am_files
      Classify object handlers are required/optional
      Add support for getting SKIP_TAGSTART and SKIP_WHITE options
      Remove some obsolete config_vars.mk occurrences
      Remove bsd_converted from .gitignore
      Remove configuration parser and scanners ignores
      Remove obsolete buildconf.stamp from .gitignore
      [ci skip] Add magicdata.patch exception to .gitignore
      Remove outdated ext/spl/examples items from .gitignore
      Remove unused test.inc in ext/iconv/tests

commit ad7a78b253
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:46:30 2018 +0300

    Added comment

commit 0276ea5187
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:42:43 2018 +0300

    Added type cast

commit c63fc5d5f1
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:36:51 2018 +0300

    Moved static class members initialization into the proper place.

commit b945548e93
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:21:03 2018 +0300

    Removed redundand assertion

commit d5a4108840
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:19:13 2018 +0300

    Removed duplicate code

commit 8dadca8864
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 11:05:43 2018 +0300

    Hide offset encoding magic in ZEND_MAP_PTR_IS_OFFSET(), ZEND_MAP_PTR_OFFSET2PTR() and ZEND_MAP_PTR_PTR2OFFSET() macros.

commit 9ef07c88bd
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 10:48:29 2018 +0300

    typo

commit a06f0f3d3a
Merge: 94099586ec 3412345ffe
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Wed Oct 17 10:47:07 2018 +0300

    Merge branch 'master' into immutable

    * master:
      Remove unused variable makefile_am_files
      Classify object handlers are required/optional
      Add support for getting SKIP_TAGSTART and SKIP_WHITE options
      Remove some obsolete config_vars.mk occurrences
      Remove bsd_converted from .gitignore
      Remove configuration parser and scanners ignores
      Remove obsolete buildconf.stamp from .gitignore
      [ci skip] Add magicdata.patch exception to .gitignore
      Remove outdated ext/spl/examples items from .gitignore
      Remove unused test.inc in ext/iconv/tests

commit c78277ae84
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 16 17:25:35 2018 +0300

    Preloadsing support for opcache restart

commit f76a955c02
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Tue Oct 16 13:52:36 2018 +0300

    Fixed incorrect signal handlers overriding

commit 0810ce0d81
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 15 23:38:48 2018 +0300

    An attempt to implemnt "preloading" ability.

commit 94099586ec
Author: Dmitry Stogov <dmitry@zend.com>
Date:   Mon Oct 15 23:34:01 2018 +0300

    Immutable clases and op_arrays
2018-11-14 16:46:05 +03:00
Peter Kokot
220a2239a6 Fix run-tests.php for running phpdbg and certain test sections
Certain sections, such as --EXTENSIONS--, --SKIPIF--, and --CLEAN--
require to be executed using only PHP CLI or PHP CGI SAPIs and cannot be
processed with the phpdbg.
2018-10-24 16:21:57 +02:00
Peter Kokot
902d39a3a7 Trim trailing whitespace in source code files 2018-10-13 14:14:50 +02:00
Gabriel Caruso
98b01a14e3
Use combined assignment contanation operator 2018-09-07 23:33:17 -03:00
Peter Kokot
02294f0c84 Make PHP development tools files and scripts executable
This patch makes several scripts and PHP development tools files
executable and adds more proper shebangs to the PHP scripts.

The `#!/usr/bin/env php` shebang provides running the script via
`./script.php` and uses env to find PHP script location on the system.
At the same time it still provides running the script with a user
defined PHP location using `php script.php`.
2018-08-29 20:58:17 +02:00
Gabriel Caruso
84b195d9fc Fix some misspellings 2018-08-12 16:15:45 +02:00
Gabriel Caruso
0e0019f694
Remove superfluous checks of always available functions 2018-08-03 00:13:01 -03:00
Gabriel Caruso
c7d1c14b5c
Small tweaks to php scripts 2018-07-14 19:33:35 -03:00
Dusta
1deda9326e
Update Coding style 2018-06-27 18:14:03 +02:00
Dusta
da82719f20
Update http to https 2018-06-25 08:31:32 +02:00
Nat Zimmermann
4ac531afb3 Revert braces inside condition 2018-06-13 23:37:14 +01:00
Nat Zimmermann
3c3ef6dd26 Use .= where possible 2018-06-09 17:02:35 +01:00
Nat Zimmermann
1b767ac26b Remove unncecessary parantheses 2018-06-09 17:01:31 +01:00
Nat Zimmermann
e5043d06c9 Remove unused variable old_php 2018-06-09 16:59:25 +01:00
Nat Zimmermann
a91d5a8194 Fix property name 2018-06-09 16:58:41 +01:00
Anatol Belski
35302c22ac Use hrtime() for timing tests 2018-05-31 15:32:47 +02:00
Peter Kokot
af01ef8741 Remove unused binary_pipes option
Option binary_pipes was added in PHP 6 which was then refactored
and this option was removed.
2018-05-28 22:14:37 +02:00
Gabriel Caruso
543cab8a00 Small improvements to run-tests
* substr instead of preg_match
* cast instead of settype
* remove $borked and check if $bork_info isn't null to report borked
tests
* remove some error control operators
2018-03-23 21:15:18 +01:00
Stanislav Malyshev
371076d6f0 Merge branch 'PHP-7.2'
* PHP-7.2:
  Set tests exit status by defaul - also in other instance.
2018-03-19 01:20:04 -07:00
Stanislav Malyshev
13a33f7c7b Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by defaul - also in other instance.
2018-03-19 01:17:36 -07:00
Stanislav Malyshev
f46da1da7d Set tests exit status by defaul - also in other instance. 2018-03-19 01:17:14 -07:00
Stanislav Malyshev
6aec16c0d9 Merge branch 'PHP-7.2'
* PHP-7.2:
  Set tests exit status by default.
2018-03-18 15:07:53 -07:00
Stanislav Malyshev
077b7705af Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  Set tests exit status by default.
2018-03-18 15:06:08 -07:00
Stanislav Malyshev
f19c94b555 Set tests exit status by default.
Use REPORT_EXIT_STATUS=0 or REPORT_EXIT_STATUS=no to prevent it.

Based on discussion in https://www.mail-archive.com/internals@lists.php.net/msg94141.html
2018-03-18 15:04:50 -07:00
Joe Watkins
0fe7636084
correct condition for leaks in run-tests.php 2018-03-02 13:22:12 +01:00
Joe Watkins
03f15f705a
add ability to show valgrind output with --show-mem 2018-03-02 13:14:35 +01:00
Gabriel Caruso
b895690dfa
remove support for string|unicode in tests 2018-02-22 08:11:30 +01:00
Michael Wallner
ba8cd2f4de
[ci skip] run-tests.php: add missing put section 2018-02-20 14:55:52 +01:00
Anatol Belski
377f346354 Fix conjugation 2018-02-20 07:25:44 +01:00
Gabriel Caruso
d4999ad8e9 Report unknown sections in run-tests.php 2018-02-19 21:40:17 +01:00
Gabriel Caruso
ea4401c1dc
Better error message when fail to find test file 2018-02-15 08:51:12 +01:00
Xinchen Hui
a6519d0514 year++ 2018-01-02 12:57:58 +08:00
Xinchen Hui
7a7ec01a49 year++ 2018-01-02 12:55:14 +08:00
Xinchen Hui
ccd4716ec7 year++ 2018-01-02 12:53:31 +08:00
Anatol Belski
65c209d0c2 Fix junit XML format
The junit XML format is purely documented, some existings spec like
http://llg.cubic.org/docs/junit/ also provide an XSD. The testsuite
tag included into itself doesn't seems to be correct, instead only a
flat list is included into "testsuites" tag.
2017-12-02 10:40:43 +01:00
Anatol Belski
7a96ab7bb8 Rework junit output
- testcase classname attribute is closest to put the filename
- if tests run from php checkout, don't include the full path
- remove filename from the testcase description, as it's included into
classname
2017-12-02 02:18:43 +01:00
Anatol Belski
a5bc5aed71 Patch core for PCRE2 support
RFC https://wiki.php.net/rfc/pcre2-migration
2017-11-13 19:37:38 +01:00
Christoph M. Becker
dc4427d0ca Implemented request #62055 (Make run-tests.php support --CGI-- sections)
Not regarding the CGI section might even been seen as a bug, and since
server-tests.php appears to broken, anway[1][2], we implement it for
run-tests.php in the way as described[3] for server-tests.php, i.e.
respective tests are skipped if no CGI executable is found.

[1] <https://github.com/php/php-src/pull/222#commitcomment-2064387>
[2] <https://github.com/php/php-src/pull/1811#issuecomment-256677997>
[3] <https://qa.php.net/phpt_details.php#cgi_section>
2017-10-30 21:04:59 +01:00
Joe Watkins
f45a7e26de
Merge branch 'PHP-7.2'
* PHP-7.2:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:38:20 +00:00
Joe Watkins
cb04599d27
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:38:08 +00:00
Joe Watkins
6c90612d13
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  make sure run-tests reports exit status upon prerequisite error
2017-10-29 04:37:55 +00:00
Joe Watkins
59d413ceb8
make sure run-tests reports exit status upon prerequisite error 2017-10-29 04:37:21 +00:00
Sara Golemon
5a2a92f128
Consolidate Valgrind logic into a single var and class 2017-08-23 14:44:36 -04:00
Sara Golemon
121a761174
constify some vars that are never changed once set 2017-08-23 14:08:53 -04:00
Anatol Belski
97ed208cfd Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Fix issues with phpt and EXTENSION on windows (BUG 75042)
2017-08-19 02:01:03 +02:00
John Boehr
71b12940d0 Fix issues with phpt and EXTENSION on windows (BUG 75042)
* Commands are not properly escaped for windows
* Specifying "-n" to check loaded modules causes "Module already loaded"
warning
* Extensions to be loaded need the "php_" prefix on Windows

Bug: https://bugs.php.net/bug.php?id=75042

Add back -n flag to fetch loaded extensions in run-tests.php

Add test for phpt EXTENSIONS directive

Add a second test for bug 75042

Add test to test loading of nonexistent shared module

with the EXTENSIONS phpt block

Pass ini settings when checking loaded extensions

Fix skipifs
2017-08-19 01:59:48 +02:00
John Boehr
59558ffd96 Fix issues with phpt and EXTENSION on windows (BUG 75042)
* Commands are not properly escaped for windows
* Specifying "-n" to check loaded modules causes "Module already loaded"
warning
* Extensions to be loaded need the "php_" prefix on Windows

Bug: https://bugs.php.net/bug.php?id=75042

Add back -n flag to fetch loaded extensions in run-tests.php

Add test for phpt EXTENSIONS directive

Add a second test for bug 75042

Add test to test loading of nonexistent shared module

with the EXTENSIONS phpt block

Pass ini settings when checking loaded extensions
2017-08-18 17:34:48 +02:00
Anatol Belski
8a287c0ea0 Upgrade bundled PCRE to 8.41
HEADSUP! With PCRE 8.39 the JIT related code was changed in the way,
that additional valgrind options became almost unavoidable. Valgrind
had it already sometimes hard with JIT, now there are seem to be more
cases requiring special valgrind options.

For this reason, the new configure option --with-pcre-valgrind was
introduced. The option is development/debugging only and turns on the
Valgrind related pieces in PCRE, so then false positives are avoided
to the big part. In addition, run-tests.php was added a new valgrind
option, when the leak check is enabled and the test filepath contains
pcre.

Thus, to debug the code related to PCRE with JIT enabled, two things
would likely make sense

  - configure --with-pcre-valgrind
  - valgrind option --smc-check=all if run-tests.php is not used

The checks so far reveal no new issues.
2017-07-11 17:01:59 +02:00
Dmitry Stogov
c7a75b7112 Fixed few test failures if php.ini contains zend.assertions=-1 2017-06-21 18:50:08 +03:00
Anatol Belski
8ec91086ee Revert "fixing run-tests.php for variables_order="GPCS""
This reverts commit c1d5718697.

The commit seems to be inappropriate as it contains parts from master,
which have nothing to do with the variables order issue. Obviously patch
applied to wrong branch or alike.
2017-05-15 20:34:11 +02:00
Anatol Belski
041652bd41 restore rev f9215b6519 2017-05-15 17:54:08 +02:00
Anatol Belski
b273fda825 restore rev 431e22fb4d 2017-05-15 17:43:48 +02:00
Matt Ficken
c1d5718697 fixing run-tests.php for variables_order="GPCS" 2017-05-15 02:21:55 -07:00
Matt Ficken
ad67218954 fixing run-tests.php for variables_order="GPCS" 2017-05-15 02:19:05 -07:00
Sara Golemon
431e22fb4d
Add support for run-tests.php to output all test results
./run-tests.php -W outfile.txt

PASS foo/bar.phpt
FAIL baz/qux.phpt
2017-05-08 05:49:56 +01:00
Nikita Popov
f9215b6519 Support showing slow tests in run-tests.php 2017-05-01 12:25:03 +02:00
Nikita Popov
852c4a872f Merge branch 'PHP-7.1' 2017-02-12 00:20:15 +01:00
Nikita Popov
479d7c3f4d Merge branch 'PHP-7.0' into PHP-7.1 2017-02-12 00:20:06 +01:00
Nikita Popov
981c58705a run-tests: Exit 1 on BORKED tests 2017-02-12 00:19:36 +01:00
Nikita Popov
06a0340162 Deprecate each() 2017-02-03 21:02:52 +01:00
Nikita Popov
c61daf415d Deprecate track_errors / $php_errormsg 2017-02-03 21:02:52 +01:00
Joe Watkins
3abb5a35f6
Merge branch 'PHP-7.1'
* PHP-7.1:
  removed additional ";" from run-tests.php
2017-01-31 05:36:28 +00:00
Joe Watkins
390134e6c5
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  removed additional ";" from run-tests.php
2017-01-31 05:36:16 +00:00
Rodrigo Prado
543141ae3b
removed additional ";" from run-tests.php 2017-01-31 05:35:58 +00:00
Anatol Belski
e9f978a272 Merge branch 'PHP-7.1'
* PHP-7.1:
  fix test
  Fix test runs with Opcache enabled PHP on top
2017-01-13 14:46:44 +01:00
Anatol Belski
527bf4d8e6 Fix test runs with Opcache enabled PHP on top
Writing to the same file, while it's cached, is an issue.
2017-01-13 14:37:37 +01:00
Nikita Popov
ce90742ad5 Merge branch 'PHP-7.1' 2017-01-10 23:32:46 +01:00
Nikita Popov
5cee9dfe9a Add support for "xfail" to phpt SKIPIF sections
If SKIPIF output starts with "xfail" instead of "skip", the test
will be marked as XFAIL with the following message. Example:

    --TEST--
    Test xfailif feature
    --SKIPIF--
    <?php
    if (some_cond()) die('xfail Expected to fail!');
    ?>
    --FILE--
    ...
2017-01-10 23:32:03 +01:00
Sammy Kaye Powers
dac6c639bb Update copyright headers to 2017 2017-01-04 11:23:42 -06:00
Sammy Kaye Powers
478f119ab9 Update copyright headers to 2017 2017-01-04 11:14:55 -06:00
Sammy Kaye Powers
9e29f841ce Update copyright headers to 2017 2017-01-02 09:30:12 -06:00
Bob Weinand
c406d1e9b5 Merge branch 'PHP-7.1' 2016-11-30 11:45:36 +01:00
Bob Weinand
e37412e19c Merge branch 'PHP-7.0' into PHP-7.1 2016-11-30 11:45:18 +01:00
Bob Weinand
344ef050aa Fix run-tests.php to always include TEST_PHPDBG_EXECUTABLE if phpdbg available 2016-11-30 11:44:10 +01:00
Matteo Beccati
02a1469810 Merge branch 'PHP-7.1'
* PHP-7.1:
  Added missing array key to $JUNIT
2016-11-27 10:08:23 +01:00
Matteo Beccati
8101024ad4 Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
  Added missing array key to $JUNIT
2016-11-27 10:08:14 +01:00
Matteo Beccati
f9b158df07 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Added missing array key to $JUNIT
2016-11-27 10:08:04 +01:00
Matteo Beccati
28cf42568b Added missing array key to $JUNIT 2016-11-27 10:07:05 +01:00
Craig Duncan
b476d21962 Fix run-tests.php counting an uncountable 2016-11-17 09:33:04 +00:00
Michele Locati
33301d5bae Add VT100 support for Windows
Fix function names prefix

Use Unicode version of GetFinalPathNameByHandle

Use EG(windows_version_info) instead of RtlGetVersion

Use the specified handle_id instead of STD_OUTPUT_HANDLE

Switch from stream name to stream resource

Allow running tests capturing only stdout and/or stderr

Add tests for stream_vt100_support function

Export Win32 console functions

Fix x64 build

Use zend_long instead of long long, use GetConsole instead of GetFinalPathNameByHandleW to check if a handle is a valid console stream

Always use zend_long on any platform

Use _get_osfhandle to determine the standard handle

Accept stream names

Raise warnings in case of invalid stream parameter

Return true if disabling VT100 support on a not-console/redirected stream or on old Windows versions

Remove php_win32_console_os_supports_vt100

Differentiate stdin vs stdout/stderr

Simplify setting flag

Allow avoid piping STDIN

Let stream_vt100_support accept only resources

Fix run-tests

Revert console flags in case of failure

Simplify logic of stream_vt100_support when setting the flag

Return true if succeeded, false otherwise

Drop support for STDIN

More comprehensive tests for stream_vt100_support

Remove old tests

Fix name of included file and use absolute paths

Enable ENABLE_VIRTUAL_TERMINAL_PROCESSING on Windows by default

Remove tests for stream_vt100_support

Split stream_vt100_support into stream_isatty+sapi_windows_vt100_support

Add tests for stream_isatty

Add tests for sapi_windows_vt100_support

Return null from stream_isatty is neither Windows nor Posix

Fallback to S_ISCHR if neither Windows nor Posix

Avoid defining argc since it's only used once

Better comment about php_win32_console_fileno_is_console

Use events instead of cNumberOfEvents

Do not restore previous console mode

We need to restore previous console mode on failing SetConsole calls only for STDIN

Don't configure STDOUT/STDERR on Windows with PHP_CLI_WIN32_NO_CONSOLE
2016-10-28 19:23:00 +02:00
Bob Weinand
11e7447e04 Merge branch 'PHP-7.0' into PHP-7.1
(cherry picked from commit 37ae5f3931)
2016-10-14 01:48:03 +02:00
Bob Weinand
37ae5f3931 Merge branch 'PHP-7.0' into PHP-7.1 2016-10-12 20:19:10 +02:00
Bob Weinand
5aae01104f Add stdin command and -s command line parameter to phpdbg
This allows reading the initial script file from stdin instead of being forced to put the script into a file in order to run it with phpdbg.
Especially important for programmatic execution of phpdbg.

Also adding tests/include_once.phpt and tests/set_exception_handler.phpt as I seem to have forgotten to git add them sometime long ago...
2016-10-12 20:15:49 +02:00
Stanislav Malyshev
9470cdd4c3 Merge branch 'pull-request/1864'
* pull-request/1864:
  Tiny tweak for `$header` initialization, it should always be an array
  Minor tweaks
2016-09-05 00:51:01 -07:00
Dmitry Stogov
0cc8ff2b41 Run ext/opcache/tests/*.phpt by default 2016-08-23 11:51:08 +03:00
Bob Weinand
ef6d0c8b6d Fix phpdbg ZTS watchpoint+shutdown sequences & opcache+watchpoints 2016-07-12 20:50:51 +02:00
Nazar Mokrynskyi
ddf1c0891b Tiny tweak for $header initialization, it should always be an array 2016-06-22 22:01:34 +03:00
Derick Rethans
1c49a9fa71 Merge branch 'PHP-7.0' 2016-05-10 15:40:09 -04:00
Derick Rethans
c35bd4861d Allow for special case for the opcache zend extension 2016-05-10 15:40:03 -04:00
Eriko Torralba
e26dabd8ee Update run-tests.php
code style; lack of whitespace
2016-04-21 17:38:36 +08:00
Nazar Mokrynskyi
d69fd5d41a Minor tweaks
Few unused variables removed.
One ambiguous situation resolved.
`join(...)` > `implode(...)`.
One case of 2 `isset()` statements combined together.
2016-04-15 10:14:47 +03:00
Julien Pauli
736b91c650 Merge branch 'PHP-5.6' into PHP-7.0
* PHP-5.6:
  Happy new year (Update copyright to 2016)

Conflicts:
	ext/json/php_json_encoder.h
	sapi/continuity/capi.c
2016-01-04 18:13:38 +01:00
Lior Kaplan
53fb2f1e5c Happy new year (Update copyright to 2016) 2016-01-03 01:44:37 +02:00
Lior Kaplan
71c1980025 Happy new year (Update copyright to 2016) 2016-01-01 20:06:12 +02:00
Anatol Belski
1bd0847f16 Merge branch 'PHP-7.0'
* PHP-7.0:
  Fix bug #70781 (Extension tests fail on dynamic ext dependency)
2015-12-09 11:09:55 +01:00
Francois Laupretre
25abf2f028 Fix bug #70781 (Extension tests fail on dynamic ext dependency) 2015-12-09 11:05:34 +01:00
Bob Weinand
9cfed119ff Merge branch 'PHP-7.0' 2015-11-10 09:29:35 +01:00
Bob Weinand
ccf8b54b89 Use --vex-iropt-precise-memory-exns=yes for valgrind < 3.8.0 2015-11-10 09:27:49 +01:00
Sobak
31f2dbc327 Drop support for EOL'd PHP versions from run-tests 2015-10-12 07:00:30 +02:00
Bob Weinand
fe67696867 Generally run all tests in sapi folder by default
Turned out that sapi/phpdbg actually wasn't explicitly included as sapi folders were individually selected
2015-10-10 17:24:14 +02:00
Bob Weinand
af0d6256d5 Fix [valid] valgrind warnings, add first watchpoints test 2015-07-15 14:22:51 +00:00
Bob Weinand
b20953118b Fix last invalid read
Also revert debugging run-tests.php changes...
2015-08-03 20:49:41 +02:00
Bob Weinand
b5e16cebda Fix a few valgrind errors in phpdbg 2015-08-03 20:27:46 +02:00
Bob Weinand
378a05f0de Move phpdbg tests to .phpt mechanism
Also add a few more in-depth tests related to $argv, breakpoints and uncaught exceptions
2015-07-20 18:00:43 +02:00
Bob Weinand
6ff72467dc XFAILED tests are not "You may have found a problem in PHP" 2015-07-02 20:49:30 +02:00
Xinchen Hui
0e438a2783 Remove debug codes 2015-05-27 17:41:38 +08:00
Xinchen Hui
c17029315f Fixed sapi/tests (maybe needs some run-test.php people's reviewing) 2015-05-27 17:37:34 +08:00
Dmitry Stogov
3abde43231 Added experimental (disabled by default) file based opcode cache. 2015-05-06 23:46:49 +03:00
Michael Wallner
34710ddc59 really only signal reports 2015-01-30 19:52:09 +01:00
Michael Wallner
d88edb6d96 also catch segfaults reported by subshells 2015-01-30 18:00:23 +01:00
Nikita Popov
a60efc5e11 Remove set_magic_quotes_runtime
And the alias magic_quotes_runtime
2015-01-17 18:26:45 +01:00
Ferenc Kovacs
f8e7b3d166 Merge branch 'PHP-5.6'
* PHP-5.6:
  add initial install
  switch to C travis project instead of PHP
  use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/)
2014-12-04 11:12:42 +01:00
Ferenc Kovacs
9c5d84ace1 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  add initial install
  switch to C travis project instead of PHP
  use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/)
2014-12-04 11:12:32 +01:00
Ferenc Kovacs
43c36bdb73 use the generic TRAVIS environment var to check for travis (see http://docs.travis-ci.com/user/ci-environment/) 2014-12-04 00:07:32 +01:00
Ferenc Kovacs
7296f9ddfc Merge branch 'PHP-5.6'
* PHP-5.6:
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path
2014-12-02 19:19:30 +01:00
Ferenc Kovacs
d81b7c4450 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path
2014-12-02 19:19:16 +01:00
Ferenc Kovacs
4d743eee5f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path

Conflicts:
	run-tests.php
2014-12-02 19:18:57 +01:00
Ferenc Kovacs
b28c3eb47e make sure that we don't truncate the stack trace and cause false test failures when the test is executed in a directory with long path 2014-12-02 19:17:58 +01:00
Veres Lajos
4b9535341a typo fixes - https://github.com/vlajos/misspell_fixer 2014-11-19 20:23:00 +00:00
Matteo Beccati
8bd58502ca Don't treat warnings as failures in the junit output
This matches Travis and the actual return code.
2014-10-29 14:34:58 +01:00
Matteo Beccati
abfb30dc67 Don't treat warnings as failures in the junit output
This matches Travis and the actual return code.
2014-10-29 14:34:48 +01:00
Matteo Beccati
a3b4f8320d Don't treat warnings as failures in the junit output
This matches Travis and the actual return code.
2014-10-29 14:33:36 +01:00
Timm Friebe
e83580c1f0 Merge branch 'master' into catchable-fatals/methods-on-non-objects 2014-09-25 19:45:05 +02:00
Johannes Schlüter
d0cb715373 s/PHP 5/PHP 7/ 2014-09-19 18:33:14 +02:00
Nikita Popov
3defdb1880 Also skip line-overwriting if SHOW_ONLY_GROUPS is used 2014-09-13 21:02:04 +02:00
Nikita Popov
7014dec761 Don't show TEST line if SHOW_ONLY_GROUPS is used 2014-09-11 16:27:53 +02:00
Timm Friebe
a1554ca634 Merge in changes from master
Now also includes "on [TYPE]" in "Call to a member function" error
2014-07-06 17:07:01 +02:00
Timm Friebe
ab4ded90f2 Add support for PHP's 'extended information for debugger/profiler' mode 2014-07-06 14:46:34 +02:00
Matteo Beccati
5270563167 Escape non-printable characters in the junit XML output
XML doesn't allow most of the characters < 0x20 and binary output
breaks XML parsers. Such characters are not allowed as entities
either, so the generated entities are escaped in order to be printed
as text.
2014-05-27 12:04:52 +02:00
Matteo Beccati
eb2bd85004 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Escape non-printable characters in the junit XML output
2014-05-27 12:04:26 +02:00
Matteo Beccati
abfd977410 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Escape non-printable characters in the junit XML output
2014-05-27 12:04:17 +02:00
Matteo Beccati
92d54f81d6 Escape non-printable characters in the junit XML output
XML doesn't allow most of the characters < 0x20 and binary output
breaks XML parsers. Such characters are not allowed as entities
either, so the generated entities are escaped in order to be printed
as text.
2014-05-27 12:03:38 +02:00
Matteo Beccati
1b08c885ba Fixed broken XML junit output due to escaping of CDATA sections
I've removed CDATA and used htmlspecialchars as the output might not be UTF-8 safe, as pointed out by ircmaxell in 26b37f1792
2014-05-27 11:08:03 +02:00
Matteo Beccati
cc3a1af62a Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed broken XML junit output due to escaping of CDATA sections
2014-05-27 11:07:32 +02:00
Matteo Beccati
56bcb22afb Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fixed broken XML junit output due to escaping of CDATA sections
2014-05-27 11:07:19 +02:00
Matteo Beccati
1696166466 Fixed broken XML junit output due to escaping of CDATA sections
I've removed CDATA and used htmlspecialchars as the output might not be UTF-8 safe, as pointed out by ircmaxell in 26b37f1792
2014-05-27 11:04:48 +02:00
Matteo Beccati
370256ad4b Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix broken Junit output with --disable-cgi
2014-05-25 00:08:41 +02:00
Matteo Beccati
980c63651c Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix broken Junit output with --disable-cgi
2014-05-25 00:08:32 +02:00
Matteo Beccati
f9357b44f3 Fix broken Junit output with --disable-cgi 2014-05-25 00:07:52 +02:00
Adam Harvey
34900eb289 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fix run-tests.php with Valgrind >= 3.10.0.
2014-05-22 22:37:57 +00:00
Adam Harvey
e5e6ba093f Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Fix run-tests.php with Valgrind >= 3.10.0.

Conflicts:
	run-tests.php
2014-05-22 22:37:47 +00:00
Adam Harvey
5d1bfd6fbf Fix run-tests.php with Valgrind >= 3.10.0.
The version test that we had in run-tests.php assumed that the major and minor
version numbers were always single digits. This removes that assumption and
also uses version_compare() for the comparison instead of naively converting it
to an integer.
2014-05-22 22:37:08 +00:00
Nuno Lopes
f46200bcc0 fix regex to detect valgrind version
New PCRE version got stricter
2014-02-08 07:06:44 -05:00
Nuno Lopes
7b7d2952a6 fix regex to detect valgrind version
New PCRE version got stricter
2014-02-08 07:07:15 -05:00
Nuno Lopes
62404e767a fix regex to detect valgrind version
New PCRE version got stricter
2014-02-08 06:54:27 -05:00
Gernot Vormayr
dff0d51243 Add some basic and apparmor tests to fpm 2014-01-17 12:49:07 +04:00
Antony Dovgal
998f506b6d Merge branch 'fpm-apparmor-fixed' of https://github.com/notti/php-src
* 'fpm-apparmor-fixed' of https://github.com/notti/php-src:
  Add some basic and apparmor tests to fpm
  Add --force-stderr to fpm
  Add apparmor change hat functionality to fpm
2014-01-16 17:36:03 +04:00
Gernot Vormayr
e9883779a0 Add some basic and apparmor tests to fpm 2014-01-07 00:21:24 +01:00
Dmitry Stogov
621f83e35c Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  Fixed bug #65559 (Opcache: cache not cleared if changes occur while running)
  bring the news

Conflicts:
	NEWS
2013-11-26 11:36:23 +04:00
Dmitry Stogov
a8c7e50f4d Fixed bug #65559 (Opcache: cache not cleared if changes occur while running) 2013-11-26 11:34:41 +04:00
Remi Collet
8c05e861d6 Merge branch 'PHP-5.5' into PHP-5.6
* PHP-5.5:
  avoid doing a stream_select on a closed stream
2013-11-19 12:42:44 +01:00
Remi Collet
87cabc04ac Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  avoid doing a stream_select on a closed stream
2013-11-19 12:42:25 +01:00
Remi Collet
25c08a839a avoid doing a stream_select on a closed stream 2013-11-19 12:41:58 +01:00
Michael Wallner
5f41cb18be Merge branch 'issue-55736' of https://github.com/tistre/php-src
implements FR #55736

* 'issue-55736' of https://github.com/tistre/php-src:
  run-tests.php: Adding support for sections EXPECT_EXTERNAL, EXPECTF_EXTERNAL and EXPECTREGEX_EXTERNAL. (Issue 55736)
2013-10-09 10:06:45 +02:00
Michael Wallner
4b61203b01 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  fix bug #62396 'make test' crashes starting with 5.3.14 (missing gzencode())
2013-10-01 17:01:44 +02:00
Michael Wallner
cd1cab3f47 fix bug #62396 'make test' crashes starting with 5.3.14
(missing gzencode())
2013-10-01 17:01:03 +02:00
Tim Strehle
5ffaf95d3f run-tests.php: Adding support for sections EXPECT_EXTERNAL, EXPECTF_EXTERNAL and EXPECTREGEX_EXTERNAL. (Issue 55736) 2013-09-03 14:40:43 +02:00
Stanislav Malyshev
2ee7e122a7 Merge branch 'PHP-5.4' into PHP-5.5
* PHP-5.4:
  Add -P option to use the current binary
  Create test to the extension xmlrpc
2013-08-18 14:09:19 -07:00
Stanislav Malyshev
3da2fb335d Add -P option to use the current binary 2013-08-18 14:08:03 -07:00
Stanislav Malyshev
02e4d7a290 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:30:59 -07:00
Stanislav Malyshev
ac40c0b562 Merge branch 'pull-request/341'
* pull-request/341: (23 commits)
  typofixes
2013-06-10 14:20:18 -07:00
Dmitry Stogov
e9641141aa Made test compatible with O+ 2013-03-16 16:11:00 +04:00
Xinchen Hui
16efc77608 count($test_files) already be checked above : if ($test_cnt)
thus we can use $sum_results instead of the preg_match
2012-11-25 16:18:20 +08:00
Xinchen Hui
11c946e594 XFAIL test should not be considered as failed 2012-11-25 12:04:12 +08:00
Remi Collet
dd093ac12a add --offline option to run-tests command 2012-09-30 19:40:57 -07:00
Stanislav Malyshev
4ba2d546c8 Merge branch 'PHP-5.4'
* PHP-5.4:
  add news for --offline
  add --offline option to run-tests command
  Bug #63147: SKIP_ONLINE_TESTS, for getmxrr
  Bug #63147: introduce SKIP_ONLINE_TESTS, for gethostbyname
  gethostbyname_basic002.phpt is a duplicate to gethostbyname_error004.phpt
2012-09-30 19:41:54 -07:00
Hannes Magnusson
ac227f4ba9 Merge branch 'PHP-5.4'
* PHP-5.4:
  Do not unload shared extensions when checking for leaks
2012-07-17 10:06:02 +01:00
Hannes Magnusson
88f7f3c00f Do not unload shared extensions when checking for leaks 2012-07-17 10:04:56 +01:00
Anthony Ferrara
6abd7365d0 Merge branch 'PHP-5.4'
* PHP-5.4:
  Fix two issues with run-tests.php
2012-07-06 22:39:32 -04:00
Anthony Ferrara
26b37f1792 Fix two issues with run-tests.php
1. E_STRICT error due to passing return of array_intersect() into reset() directly
2. Details in junit output can produce invalid UTF-8 and XML due to unescaped characters
2012-07-06 22:37:50 -04:00
Felipe Pena
eb012cf884 - Fixed bug #62415 (Undefined variable: diff in run-tests.php on line 2093 for successful XFAIL) 2012-06-30 16:42:28 -03:00
Felipe Pena
75d8af715c - Fixed bug #62415 (Undefined variable: diff in run-tests.php on line 2093 for successful XFAIL) 2012-06-30 16:29:30 -03:00
David Soria Parra
814e7bcf6c Merge branch 'PHP-5.4'
By Till Klampaeckel
* PHP-5.4:
  Don't depend on a fixed path for PHP shebang but use /usr/bin/env (cherry picked from commit 89c5d981603ed4a2a54f86c20cec4f263c58ded6)
2012-06-07 09:45:12 +02:00
Till Klampaeckel
c56ff39c05 Don't depend on a fixed path for PHP shebang but use /usr/bin/env
(cherry picked from commit 89c5d981603ed4a2a54f86c20cec4f263c58ded6)
2012-06-07 09:44:49 +02:00
Davey Shafik
5ef46fe43c Fix boolean casting and whitespace (@dsp / #68) 2012-05-28 06:25:03 -04:00
Davey Shafik
3966df7fc8 Add support for Travis CI 2012-05-28 06:22:24 -04:00
Nuno Lopes
72911237b5 sync with HEAD 2012-05-27 20:13:09 -04:00
Nuno Lopes
77b086f3f0 128 MB is enough for everyone (TM)
this is an initial tentative to avoid some testcases go crazy and consume 16 GB of memory. Additional measures will have to be taken if the problem persists.
Please patch individual tests that really require more than 128MB of memory
2012-05-27 20:03:58 -04:00
Nuno Lopes
af2d6a63bf remove remaining traces of unicode.* ini settings 2012-05-27 19:57:34 -04:00
zoe slattery
1af8b3f883 Change impl of GZIP_POST, DEFLATE_POST. See #62021 2012-05-15 11:05:20 +01:00
Shein Alexey
1e88d0033f Refactoring junit logger. Added generation of nested testsuites in junit.xml. 2012-03-28 21:39:24 +01:00
David Soria Parra
f7b10abae9 Replace $Revision$ with $Id$ in keyword expansion enable files 2012-03-20 17:53:47 +01:00
Michael Wallner
a07759a013 add --PUT-- section support based on POST_RAW 2012-03-17 09:35:25 +00:00
Michael Wallner
b39ffa3f34 merge 322758 (detect a php-cgi which is a sibling of php cli) 2012-03-09 19:51:09 +00:00
Rasmus Lerdorf
510bb3131b Simple fix that just quotes the filenames in run-tests to support paths with spaces.
Fixes bug #60734
2012-01-28 02:43:31 +00:00
Derick Rethans
0dcf098efd This changes adds the --EXTENSION-- section to .phpt files as
described in http://marc.info/?t=132248616300007&r=1&w=2.
2011-12-06 05:44:54 +00:00
Felipe Pena
78742a33a7 - Replace possible esc char to <esc> in the XML output 2011-12-01 15:47:58 +00:00
Felipe Pena
43a373437d - Added JUnit output format option
patch by: Ferenc Kovacs (tyrael at php.net)
2011-11-26 20:18:03 +00:00
Felipe Pena
350325d42a - Fixed bug #55788 (test redirects should abide SHOW_ONLY_GROUPS in run-tests.php)
patch by: tyrael at php.net
2011-11-26 17:56:43 +00:00
Felipe Pena
3ee878169b - Clean up 2011-11-26 17:30:03 +00:00
Johannes Schlüter
e58f72b6a3 Improve speed of finding tests (no more CVS, we're on svn now) 2011-09-01 14:52:55 +00:00