Re: Re: cvs: php-src / run-tests.php

From: Date: Wed, 23 Jul 2008 17:24:11 +0000
Subject: Re: Re: cvs: php-src / run-tests.php
References: 1 2  Groups: php.internals 
Request: Send a blank email to internals+get-39239@lists.php.net to get a copy of this message
Moin Marcus! Marcus Boerger schrieb:
to be honest this is the wrong way. The correct way of fixing this is to have PHP 6 name it correct: string and binary. And to have b for binary prefix rather then u for unicode. Or did PHP 6 change in the meanwhile and we support u"Nonsense" besides b"Binary"?
I'm not sure if a change to PHP would help solving the original question on portable tests which I raised on the QA list. I asked for a way to write "portable" tests. That is a test which can be run on both PHP 5 and PHP 6 -- one file for both PHP 5 and PHP 6 (like in early PHP 6 days with UEXPECTF), not two versions that need to be kept in sync (like nowadays). Currently we have: PHP 5
 var_dump("PHP" . chr(0) . " rocks!")         --> string(9) "PHProcks"
var_dump((binary)"PHP" . chr(0) . " rocks!") --> string(9) "PHProcks" PHP 6
 var_dump("PHP" . chr(0) . " rocks!")         --> unicode(9) "PHProcks"
var_dump((binary)"PHP" . chr(0) . " rocks!") --> unicode(9) "PHProcks" The patch to run-tests.php allows you to use in your EXPECTF or EXPECTREGEXP section: %unicode|string%(9) "PHProcks" With PHP 5, run-tests.php will search for string(9) "PHProcks" and with PHP 6 it will search for unicode(9) "PHProcks": one EXPECTF section, one test file for both PHP 5 and PHP 6. If I get you right, you suggest that it should read as follows in PHP 6:
 var_dump("PHP" . chr(0) . " rocks!")         --> string(9) "PHProcks"
var_dump((binary)"PHP" . chr(0) . " rocks!") --> binary(9) "PHProcks" This may be correct and desired. However, if you change it, I'm back to my question: is there a way to write a "portable" test? Ulf

« previous php.internals (#39239) next »