#46683 [Fbk]: fopen() file name in warning is upper cased if the arguments are invalid
ID: 46683
Updated by: ant@php.net
Reported By: ant@php.net
Status: Feedback
Bug Type: Filesystem function related
Operating System: win32 only
PHP Version: 5.3CVS-2008-11-26 (snap)
Assigned To: pajoye
New Comment:
Yes I agree the updated error message is better than the previous
invalid argument message. On the subject of clear tests I don't
actually find this test too bad. The code has logic to test a bunch
of different conditions and so requires some eye balling to
understand. Each iteration includes the current item (see below).
I find this approach preferable to unrolling the loop and duplicating
the code as I think that would make the test significantly less
maintainable.
--c:\/--
file in root
--c:\fopen11.tmpdirTwo\/--
file in fopen11.tmpdirTwo
--c:\fopen11.tmpdirTwo\--
file in fopen11.tmpdirTwo
Previous Comments:
------------------------------------------------------------------------
[2009-03-02 21:06:42] pajoye@php.net
UNC path begins with \\, that's why it was necessary to upper case the
path.
However, why do you expect an invalid argument in this case? Here is
what I get, which makes more sense (after the fix for the correct path
in the error message):
018+ Warning: fopen(\\fopen_variation11.tmp): failed to open stream: No
such file or directory in
ext\standard\test\file\fopen_variation11-win32.php on line 52
018- Warning: fopen(\\fopen_variation11.tmp): failed to open stream:
Invalid argument in %s on line %d
025+ Warning: fopen(/\fopen_variation11.tmp): failed to open stream: No
such file or directory in
ext\standard\tests\file\fopen_variation11-win32.php on line 52
025- Warning: fopen(\\fopen_variation11.tmp): failed to open stream:
Invalid argument in %s on line %d
------------------------------------------------------------------------
[2009-03-02 20:28:05] pajoye@php.net
Side note:
Please (PLEASE!!) try to create tests we can read. Like having an index
telling which iteration we are or other similar tricks to ease the
debugging. I already asked for cleaner tests many times on php-qa,
without much success :)
------------------------------------------------------------------------
[2008-11-26 18:03:22] ant@php.net
These tests are also now checked into 6.0.
------------------------------------------------------------------------
[2008-11-26 10:24:26] ant@php.net
Description:
------------
The following test was ported from 5.2.X and behaves differently on
5.3. In particular the file name in the warning message is upper
cased for no apparent reason?
ext/standard/tests/file/fopen_variation11-win32.phpt
Reproduce code:
---------------
See the test now checked into CVS:
ext/standard/tests/file/fopen_variation11-win32.phpt
Expected result:
----------------
Warning: fopen(\\fopen_variation11.tmp): failed to open stream:
Invalid argument in %s on line %d
Actual result:
--------------
Warning: fopen(\\FOPEN_VARIATION11.TMP): failed to open stream:
Invalid argument in %s on line %d
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=46683&edit=1
Thread (10 messages)