[php-src] PR #24406: ext/iconv, ext/standard: make tests more robust on FreeBSD
| From: | Sjord | Date: | Sun, 18 Oct 2026 10:25:31 +0000 |
| Subject: | [php-src] PR #24406: ext/iconv, ext/standard: make tests more robust on FreeBSD | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-39547@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/24406
Author: Sjord
I ran PHP's tests on FreeBSD 15.1, and these were failing:
- ext/iconv/tests/bug52211.phpt: trigger the error with an incomplete UTF-8 source sequence.
Rejecting a valid but unrepresentable character is implementation-defined; FreeBSD's ASCII
passes bytes through for identity conversions, while glibc rejects them. https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=296765
- ext/standard/tests/file/chmod_basic.phpt: probe which special mode bits can be set on a regular
file. FreeBSD rejects the sticky bit on regular files with EFTYPE.
- ext/standard/tests/file/006_variation2.phpt: apply the sticky bit only to the directory, whose
semantics are portable, and update the expected file modes.
- ext/standard/tests/ini_info/php_ini_loaded_file.phpt: do not forward TEST_PHP_EXTRA_ARGS for the
"no ini file" case. It can contain -c, which takes precedence over -n, causing the child
to load run-tests.php's temporary ini file.
Also clear the stat cache before calling fileperms(), not after.