ID: 46683 Updated by: a...@php.net Reported By: a...@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] paj...@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] paj...@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] a...@php.net These tests are also now checked into 6.0. ------------------------------------------------------------------------ [2008-11-26 10:24:26] a...@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