911 Commits
Author SHA1 Message Date
Ilija Tovilo 9705fda1bb Merge branch 'PHP-8.6' into master
* PHP-8.6:
  Add NEWS entry
  Avoid state corruption via bailout
2026-10-21 16:34:56 +02:00
Ilija Tovilo d6373dfe15 Merge branch 'PHP-8.5' into PHP-8.6
* PHP-8.5:
  Add NEWS entry
  Avoid state corruption via bailout
2026-10-21 16:33:23 +02:00
Ilija Tovilo c7273b9ba8 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Add NEWS entry
  Avoid state corruption via bailout
2026-10-21 16:30:04 +02:00
Ilija Tovilo 8a94bb3822 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Add NEWS entry
  Avoid state corruption via bailout
2026-10-21 16:27:03 +02:00
Ilija Tovilo c1a5f468d0 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  Add NEWS entry
  Avoid state corruption via bailout
2026-10-21 16:12:35 +02:00
3584a98bda Avoid state corruption via bailout
- Replace bailout on OOM with UnwindExit
- Properly reset various globals that may be accessed during startup

Fix GHSA-w8hw-w9fx-j79w (CVE-2026-109618)
Fix GHSA-6wmf-4rv5-p3rp (CVE-2026-109619)

Co-authored-by: Ilija Tovilo <ilija.tovilo@me.com>
Co-authored-by: Jakub Zelenka <bukka@php.net>
Co-authored-by: Nora Dossche <7771979+ndossche@users.noreply.github.com>
Co-authored-by: Nicolas Grekas <nicolas.grekas@gmail.com>
2026-10-21 16:06:22 +02:00
NickSdot 01980786a3 Excludes .git from run-tests.php . (#23542) 2026-09-30 13:22:20 +02:00
Levi Morrison 98b02fff3d Merge branch 'PHP-8.4' into PHP-8.5 2026-08-24 10:23:07 -06:00
Levi Morrison 7c0390b815 Fix JUnit timing aggregation for long-running tests (#23438) 2026-08-24 10:22:50 -06:00
Levi Morrison c66ac29dca Fix JUnit timing aggregation for long-running tests (#23438) 2026-08-24 10:21:29 -06:00
NickSdot 1d2ea5ce22 Run tests in parallel by default (#22939)
Runs the test suite in parallel by default; automatically selects up to 10 workers. Explicit -j1 remains the opt-out to run tests serial. Smaller batches improve balancing.
2026-08-10 11:33:43 +02:00
NickSdot 5d58876192 tests: Cache failed service probes (#22944)
Prevents unavailable optional test services from slowing the suite through repeated connection timeouts. PDO and SNMP availability probes cache the first failure for the duration of one test run, so later SKIPIF checks return immediately.

Only failures are cached; successful probes and test connections are unchanged. PDOs one second timeout applies only to the default availability probe. The caches are private, run-scoped and removed afterwards. A service becoming available mid run is detected on the next test-suite run.
2026-08-06 11:42:56 +02:00
Tim DüsterhusandDerick Rethans c48fc1e7ab run-tests: Improve handling of test reproduction helpers (#23066)
* run-tests: Add `strace` sub command for generated test reproduction scripts

Co-authored-by: Tim Düsterhus <tim@tideways-gmbh.com>

* run-tests: Pass all provided arguments to `valgrind`

* run-tests: Pass all provided arguments to `gdb`

* run-tests: Pass all provided arguments to `lldb`

* run-tests: `exec` into test reproduction helpers

This avoids needlessly carrying around the shell and provides more direct
access to the running executable.

---------

Co-authored-by: Derick Rethans <github@derickrethans.nl>
2026-08-05 22:20:58 +02:00
NickSdot 7785159f7e Fix redirected-test progress accounting in parallel runs (#22952) 2026-08-03 18:22:06 +02:00
NickSdot 2b6075bddf run-tests: run test subprocesses without a shell where possible (#22957) 2026-08-03 18:17:27 +02:00
Ilija Tovilo 387a3afc6b Fix run-tests.php --file-cache-prime with multiple workers (GH-22886)
* Fix run-tests.php --file-cache-prime with multiple workers

We want to remove the directory only before running tests, rather than for every
test. That causes races, but also defeats the purpose of priming the cache.

* Move opcache.opt_debug_level tests

These need to live in ext/opcache/tests to be skipped by run-tests.php for the
--file-cache-use tests, which won't compile the files and thus won't dump the
output.

* Mark preloading test as opcache.file_cache_only=0

Preloading requires shm.
2026-07-25 22:48:02 +02:00
Arnaud Le Blanc d79a32d263 run-tests: Clean the file cache directory in --file-cache-prime (#22784)
`run-tests.php --file-cache-prime` sets opcache.file_cache to /tmp which makes it difficult to clear the cache.

Set opcache.file_cache to /tmp/php-run-tests-file-cache, and clear the directory when --file-cache-prime is specified.
2026-07-17 19:33:17 +02:00
Calvin BuckleyandTim Düsterhus a22c56c969 Add error_include_args INI option to display function args in docref (#12276)
Displays arguments for errors from built-in PHP functions using docref API.

RFC: https://wiki.php.net/rfc/display_error_function_args

Co-authored-by: Tim Düsterhus <tim@bastelstu.be>
2026-06-01 18:01:09 -03:00
Ilija Tovilo b34d90606f Merge branch 'PHP-8.5'
* PHP-8.5:
  Add date.timezone=UTC to the INI overwrites in run-tests.php
2026-04-13 14:14:05 +02:00
Ilija Tovilo d341eb74fb Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Add date.timezone=UTC to the INI overwrites in run-tests.php
2026-04-13 14:13:57 +02:00
Hans Krentel (hakre) d1670fb7e1 Add date.timezone=UTC to the INI overwrites in run-tests.php
Supersedes GH-21665
Closes GH-21729
2026-04-13 14:12:40 +02:00
Ben Ramsey 3ba0b9c81d license-update: run-tests.php source headers
RFC: https://wiki.php.net/rfc/php_license_update
2026-04-11 21:20:54 -05:00
Peter Kokot e045b881cf run-tests.php: Use PHP_SHLIB_SUFFIX (#21301)
Instead of hardcoding the file extensions for shared PHP extensions
(which in most cases are '.so', or '.dll'), this uses file extension for
the current PHP build as it was defined during the configure/build
phase. There can be systems where some other file extension is used for
shared modules.
2026-02-26 17:54:34 +01:00
Ilija Tovilo ca9305eb2c Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix run-tests.php -s flag
2026-01-19 14:39:13 +01:00
Ilija Tovilo ee5fc4a030 Fix run-tests.php -s flag
- Remove unnedded putenv('NO_INTERACTION=1') when executing individual tests.
- Fix undefined variable errors when executing individual tests.
- Fix -s when NO_INTERACTION=1 is set, given we don't need to prompt anyway.

Fixes GH-20961
Closes GH-20970
2026-01-19 14:38:53 +01:00
Alexandre Daubois de61d83b0a Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Fix variable assignment for PHP argument escaping in `run-tests.php` (#20799)
2025-12-29 14:50:34 +01:00
Alexandre Daubois edf4cc40bd Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Fix variable assignment for PHP argument escaping in `run-tests.php` (#20799)
2025-12-29 14:50:19 +01:00
Sharad Chandran R 7effcab2cf Fix variable assignment for PHP argument escaping in run-tests.php (#20799) 2025-12-29 14:49:21 +01:00
Ilija Tovilo 801e587faa Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  [skip ci] Auto-mark SKIP_PERF_SENSITIVE tests as flaky
2025-10-21 17:53:32 +02:00
Ilija Tovilo dc74dd5ad4 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  [skip ci] Auto-mark SKIP_PERF_SENSITIVE tests as flaky
2025-10-21 17:53:24 +02:00
Ilija Tovilo 217fceaf58 Merge branch 'PHP-8.2' into PHP-8.3
* PHP-8.2:
  [skip ci] Auto-mark SKIP_PERF_SENSITIVE tests as flaky
2025-10-21 17:53:17 +02:00
Ilija Tovilo db98c5717e Merge branch 'PHP-8.1' into PHP-8.2
* PHP-8.1:
  [skip ci] Auto-mark SKIP_PERF_SENSITIVE tests as flaky
2025-10-21 17:53:10 +02:00
Ilija Tovilo 99076ebfb0 [skip ci] Auto-mark SKIP_PERF_SENSITIVE tests as flaky
These can occasionally fail in CI.
2025-10-21 17:52:04 +02:00
Ilija Tovilo 1a44cd6557 Merge branch 'PHP-8.4' into PHP-8.5
* PHP-8.4:
  Automatically skip tty tests if not on tty
2025-10-03 00:47:30 +02:00
Ilija Tovilo 019a179fe5 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Automatically skip tty tests if not on tty
2025-10-03 00:47:13 +02:00
Ilija Tovilo 831597748b Automatically skip tty tests if not on tty
See GH-19975
Closes GH-20013
2025-10-03 00:45:20 +02:00
Alexandre Daubois a84a82ed88 Deprecate disabling report_memleaks INI directive (#19481)
RFC: https://wiki.php.net/rfc/deprecations_php_8_5#deprecate_the_report_memleaks_ini_directive
2025-08-16 14:04:34 +02:00
Alexandre Daubois 9673079903 Fix GH-18404: Display diff when a single test is run (GH-19400) 2025-08-08 19:16:32 +02:00
Arnaud Le Blanc 0eea5d31e0 run-tests.php: Remove extra env vars in the generated .sh file (#18306) 2025-04-29 10:59:10 +02:00
Arnaud Le Blanc b24addddb4 run-tests.php: Save STDIN section into a file (#18305)
When a test has an --STDIN-- or --PHPDBG-- section, save the section's content into a file, like we do for the other sections.

This makes it bit easier to reproduce these tests outside of run-tests.php.

This doesn't update the .sh file to pass the file as stdin to the program, yet. 

When using gdb, we can pass the file as stdin like this:

    gdb --args php
    (gdb) r test.php < test.stdin
2025-04-15 14:02:08 +02:00
DanielEScherzer c3b4359873 [skip ci] run-tests.php: fix some typos (#17783) 2025-02-13 16:18:09 +00:00
Eric NorrisandNiels Dossche 0a14ab18d2 RFC: Error Backtraces v2 (#17056)
see https://wiki.php.net/rfc/error_backtraces_v2

Co-authored-by: Niels Dossche <7771979+nielsdos@users.noreply.github.com>
2025-01-29 12:54:23 +01:00
dhuang00 71dfa931eb Shuffle tests for a single worker
Even when tests are not run in parallel, shuffling can help discover tests that
unintentionally depend on other tests being run before them.

Closes GH-17149.
2024-12-27 15:58:59 +01:00
Ilija Tovilo 3968dbf258 Merge branch 'PHP-8.4'
* PHP-8.4:
  Hide xfail/xleak test summary
2024-12-12 13:13:04 +01:00
Ilija Tovilo b86308c222 Merge branch 'PHP-8.3' into PHP-8.4
* PHP-8.3:
  Hide xfail/xleak test summary
2024-12-12 13:12:58 +01:00
Ilija Tovilo e7af08d625 Hide xfail/xleak test summary
We don't show succeeding tests in the summary, and for all intents and purposes,
these tests have succeeded, in that they behave as expected. I've seen the
output confuse people on multiple occasions, for example GH-17105.

Closes GH-17109
2024-12-12 13:12:46 +01:00
Ilija Tovilo 8a9d45b86f Backport flaky flag for phar tests
4e12189604
b6ca871396
062837aa13
2024-12-10 10:35:00 +01:00
Christoph M. Becker 00e88b08d5 [skip ci] Merge branch 'PHP-8.4'
* PHP-8.4:
  [skip ci] chore: update minimum required PHP version.
2024-11-25 22:22:26 +01:00
Marcos Marcolin 7417c63413 [skip ci] chore: update minimum required PHP version.
Closes GH-16868.
2024-11-25 22:21:28 +01:00
Marcos MarcolinandMarcos Marcolin 6bf703ad98 chore: remove unused variable. (#16867)
Co-authored-by: Marcos Marcolin <marcos@ixcsoft.com.br>
2024-11-20 22:46:38 +01:00