Hi all,
I just spent forever trying to get Phar to work as expected under CVS HEAD
when unicode.semantics=1. There are still 46 test failures I've no idea how
to address, with stream conversion and path issues leading the way (more
than half all failures) and Phar's _SERVER munging close behind. Attached is
a run-down of those 46 failures.
I'd like to merge the code changes I already made in CVS HEAD back to
PHP_5_3 branch, but could do with some sanity checking first... I may well
be casting things that shouldn't be cast or vice versa. So if anyone is
curious and has time on their hands, please feel free to have a go. The only
rule is that 5_3-created phars *must* run under PHP 6.
The run-tests.php script from 5_3 is usable with HEAD - just don't forget to
switch unicode.semantics on!
Thanks,
- Steph
Conversion issues:
php-src\ext\phar\tests\018.phpt: readdir() cannot convert binary string to
Unicode (any attempt to cast retval to binary leads to a crash)
php-src\ext\phar\tests\opendir.phpt: doesn't.
php-src\ext\phar\tests\opendir_edgecases.phpt: doesn't. Directory name reported
as ë·¦.
php-src\ext\phar\tests\phar_dir_iterate.phpt: broken foreach()
php-src\ext\phar\tests\phar_dotted_path.phpt: broken foreach()
php-src\ext\phar\tests\phar_oo_002.phpt: broken var_dump during foreach loop
php-src\ext\phar\tests\phar_oo_003.phpt: broken var_dump during foreach loop
php-src\ext\phar\tests\phar_oo_004.phpt: broken var_dump during foreach loop
php-src\ext\phar\tests\phar_oo_005.phpt: broken var_dump during foreach loop
php-src\ext\phar\tests\tar\tar_003.phpt: readdir() fails, dirnames like
è¦î´ë½è£
php-src\ext\phar\tests\zf_test.phpt: foreach() fails
php-src\ext\phar\tests\zip\odt.phpt: 'RuntimeException' with message 'Cannot access phar
file entry '/é¤îé
ê¤îèºë¦' in archive
'C:/sandbox/php-src/ext/phar/tests/zip/files/odt.odt', phar error: invalid path
"/é¤îé
ê¤îèºë¦" contains illegal character' in
php-src\ext\phar\tests\zip\odt.php:3
php-src\ext\phar\tests\zip\unixzip.phpt: 'RuntimeException' with message 'Cannot access
phar file entry '/ê¦î¨' in archive
'C:/sandbox/php-src/ext/phar/tests/zip/files/zip.zip', phar error: invalid path
"/ê¦î¨" contains illegal character' in
php-src\ext\phar\tests\zip\unixzip.php:3
Path issues:
php-src\ext\phar\tests\019.phpt: directory "hio/b" not recognised following creation as
"hio/b/a"
php-src\ext\phar\tests\020.phpt: directory "hio/b" not recognised following creation as
"hio/b/a"
php-src\ext\phar\tests\dir.phpt: "sub" not recognised as a directory following creation
as "sub/directory.txt"
php-src\ext\phar\tests\phar_oo_getcontents.phpt: dir "a" not recognised following
creation as "a/b"
php-src\ext\phar\tests\pharfileinfo_chmod.phpt: dir "a" not recognised following creation
as "a/b"
php-src\ext\phar\tests\pharfileinfo_compression.phpt: dir "a" not recognised following
creation as "a/b"
php-src\ext\phar\tests\pharfileinfo_destruct.phpt: 'a/subdir' not recognised
following creation as 'a/subdir/here'
php-src\ext\phar\tests\pharfileinfo_getcrc32.phpt: 'a/subdir' not recognised
following creation as 'a/subdir/here'
php-src\ext\phar\tests\pharfileinfo_setmetadata.phpt: dir "a" not recognised following
creation as "a/b"
php-src\ext\phar\tests\phar_buildfromiterator10.phpt: Iterator RegexIterator returned a path
"php-src\ext\phar\tests" that is not in the base directory
"php-src\ext\phar\tests\"
Frontcontrollers/phar_mung_server_vars():
php-src\ext\phar\tests\front.phar.phpt: 'config.xml is not a phar archive,
cannot mount'
php-src\ext\phar\tests\frontcontroller10.phpt: Expected 403, got 404.
php-src\ext\phar\tests\frontcontroller21.phpt: In phar_mung_server_vars(),
zend_hash_find(Z_ARRVAL_PP(_SERVER), "REQUEST_URI" etc. fails
php-src\ext\phar\tests\frontcontroller23.phpt: phar_mung_server_vars()
php-src\ext\phar\tests\frontcontroller25.phpt: phar_mung_server_vars()
php-src\ext\phar\tests\frontcontroller34.phpt: fails to include(./another.php);
php-src\ext\phar\tests\frontcontroller9.phpt: returns 404
php-src\ext\phar\tests\tar\frontcontroller10.phar.phpt: as
frontcontroller10.phpt
php-src\ext\phar\tests\tar\frontcontroller21.phar.phpt: as
frontcontroller21.phpt
php-src\ext\phar\tests\tar\frontcontroller9.phar.phpt: as frontcontroller9.phpt
php-src\ext\phar\tests\zip\frontcontroller10.phar.phpt: as
frontcontroller10.phpt
php-src\ext\phar\tests\zip\frontcontroller21.phar.phpt: as
frontcontroller21.phpt
php-src\ext\phar\tests\zip\frontcontroller9.phar.phpt: as frontcontroller9.phpt
Context not set:
php-src\ext\phar\tests\phar_ctx_001.phpt
php-src\ext\phar\tests\phar_oo_compressed_002.phpt
php-src\ext\phar\tests\phar_oo_compressed_002b.phpt
Binary return type:
php-src\ext\phar\tests\create_new_and_modify.phpt: getSignature() returns
binary keys
php-src\ext\phar\tests\test_signaturealgos.phpt: getSignature() returns binary
keys
Mystery bits and bobs:
php-src\ext\phar\tests\mounteddir.phpt: Fatal error: Allowed memory size of
134217728 bytes exhausted at php-src\main\spprintf.c:858 (tried to allocate 80
bytes) in
phar://C:/sandbox/php-src/ext/phar/tests/tempmanifest1.phar.php/index.php on
line 3
php-src\ext\phar\tests\phar_buildfromdirectory2.phpt: Expected a
"UnexpectedValueException", got a "RuntimeException" instead (but correct error
message).
php-src\ext\phar\tests\phar_oo_008.phpt: crashes, cause unknown
php-src\ext\phar\tests\phar_oo_009.phpt: crashes, cause unknown
php-src\ext\phar\tests\stat2_5.3.phpt: one item that should be true is false,
not sure which/why - test could do with splitting down
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php