OK, I'm now seeing a pass rate that more or less matches the same tests run
by the PHP 5 test script and PHP 5.3 binary.
FILE_BINARY is needed in two of seven calls to file_put_contents(). Get it
wrong (either way) and you get a random warning or notice. It's completely
non-portable too - it will only be accepted under PHP 6.
There is far too much of this kind of thing. Can we please consider adding
dummies into at least 5.3.0 and possibly even the 5_2 branch for:
is_binary()
is_unicode()
file_put_contents(FILE_BINARY)
and any other major 'gotchas' that people can think of that will make it
impossible to write future-compatible PHP 5 code?
Thanks,
- Steph
----- Original Message -----
From: "Steph Fox" <[EMAIL PROTECTED]>
To: "internals" <internals@lists.php.net>
Sent: Thursday, June 12, 2008 3:32 AM
Subject: [PHP-DEV] HEAD tests broken under Windows
Hi all,
I'm hopeful that run-tests.php will now work as advertised under CVS HEAD
in most places. However it's still not right under Windows, and I finally
tracked that down to the fact that file_put_contents() in PHP 6 will
insist on creating a file with DOS line endings. The test files are
created from .phpt --FILE-- sections using file_put_contents(), so there
are a vast number of fails under doze due to an extra character in output
strings there.
There's a *closed* PHP bug on this which was raised by Zoe over a year
ago, see http://bugs.php.net/bug.php?id=41609. For some obscure reason it
was seen as a documentation problem at the time. This is an extreme change
in behaviour, not a documentation problem, and needs proper analysis.
Could someone please look into it?
Thanks,
- Steph
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php