Hello internals,

  i am now done with most bigger parts of 5.2 Todo and the remainder
is a bunch of fixes engine wise some folks already found during the
MFH phase. Right now my test results look like (see below). Whilethis
looks quite good on the first glance it is actually a big problem that
only have around 2500 tests for a beast as big as PHP.

  A thing i am personally wondering about is that som many people
complained about interruptions on this development tree. Actually i
tried all i could to keep this interruptions as low as possible. For
example besides windows all built-in stuff was at least always
compilable. The biggest problems extension wise where two things.
First finding all cases of overloaded iterators since their API has
chnaged. This is a problem since the function pointers hide behind
tables and conversons, so i could not grep for them. The other major
issue was that for PDO we planned to MFH a bunch of stuff from HEAD
while unfortunatley PDO's HEAD is completley out of synch with separate
development in 5.1/5.2. Thus taking care of PDO had to wait until
the rest had settled down. Now the real question is if ppl see the
5.2 already as something that goes for production quality or if
suddenly windows became a major developmment platform without me
noticing it. In the first case it is my bad, because i got our time
line wrong. In the second case it is still my bad, but just tell me
now so i can kick my windows compiler next tiem i do bigger changes.
Anyways sorry if you feel the interruptions have been too annoying.

Back on the first topic: tests. While i was still happily MFHing
people complained about a newly detected behavior change that nobody
detected in HEAD so far, see Zend/tests/objects_001.phpt. I never
intended to change that behavior. It was simply a sideeffect of MFHing
new stuff and obviously we have to fix the behavior in both HEAD
and 5.2. Anyways i ask everybody to write more tests so that we can
figure out such things earlier in the future, hopefully already before
committing since everybody should do make test before commit anyways.

Last but not least i ask to provide tests for stuff we do not cover
right now. In case you are an extension developer you can most easily
go to http://gcov.php.net and check your extensions for not executed
c code. As the developer you will know how to provide a test for the
identified areas.

One good idea came up already. That is we could extend the run-tests
facility to handle multiple php versions per .phpt script. That way
we can keep track of behavior changes easily. This would for example
be done by extending the current block identifier by a version compare
string. E.g. right now expected output is identified by "--EXPECT--".
With the version identifier it would look like: "--[>=5.2]:EXPECT--"
and "--[<5.2]:EXPECT--".

Once again sorry if you felt the interruptions too annoying.

best regards
marcus

p.s.: todo can be found here: http://oss.backendmedia.com/PhP52


TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :   21
Exts tested     :   68
---------------------------------------------------------------------

Number of tests : 2591              2251
Tests skipped   :  340 ( 13.1%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   19 (  0.7%) (  0.8%)
Tests passed    : 2232 ( 86.1%) ( 99.2%)
---------------------------------------------------------------------
Time taken      :  569 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
comparing objects to other types [Zend/tests/objects_001.phpt]
APC: apc_store/fetch with strings [ext/apc/tests/apc_001.phpt]
APC: apc_store/fetch with objects [ext/apc/tests/apc_002.phpt]
APC: apc_store/fetch with objects [ext/apc/tests/apc_003.phpt]
Test 1: Accessing single node [ext/dom/tests/dom001.phpt]
Test 2: getElementsByTagName() / getElementsByTagNameNS() 
[ext/dom/tests/dom002.phpt]
Test 7: DTD tests [ext/dom/tests/dom007.phpt]
iconv stream filter [ext/iconv/tests/iconv_stream_filter.phpt]
mb_strlen() [ext/mbstring/tests/mb_strlen.phpt]
mysqli fetch float values [ext/mysqli/tests/010.phpt]
mysqli fetch mixed values [ext/mysqli/tests/011.phpt]
mysqli fetch mixed values 2 [ext/mysqli/tests/012.phpt]
mysqli_bind_result (SHOW) [ext/mysqli/tests/045.phpt]
PDO PgSQL Large Objects [ext/pdo_pgsql/tests/large_objects.phpt]
Bug #31422 No Error-Logging on SoapServer-Side 
[ext/soap/tests/bugs/bug31422.phpt]
Test array_diff and array_diff_assoc behaviour 
[ext/standard/tests/array/007.phpt]
Test of the *intersect* bunch of functions (both assoc and non-assoc) 
[ext/standard/tests/array/array_intersect_1.phpt]
date_sunrise() and date_sunset() functions 
[ext/standard/tests/general_functions/sunfuncts.phpt]
Bug #22224 (implode changes object references in array) 
[ext/standard/tests/strings/bug22224.phpt]
=====================================================================



Best regards,
 Marcus

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to