[fw-general] Re: diff in double-to-string conversion 5.2.1 vs 5.2.2
Hi, On Thu, April 19, 2007 11:33 am, Antony Dovgal wrote: On 04/15/2007 11:05 AM, Sebastian Nohn wrote: ?php $a = 69; var_dump($a); $b = A is: .$a; var_dump($b); ? 5.2.1 output is: float(6.9E+9) string(16) A is: 69 5.2.2-dev output is: float(6.9E+9) string(12) A is: 6.9E+9 Fix committed, please test the next snapshot. Works! Thanks a lot! - Sebastian
[fw-general] RE: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
On Tue, April 17, 2007 9:55 am, Dmitry Stogov wrote: The float formatting algorithms were changed because of licensing issues and new ones are not 100% compatible with previous ones. Could you please provide more details on that? - Sebastian
[fw-general] Re: [PHP-DEV] Re: [fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
Marcus Boerger wrote: float numbers are never perfect values. So should in anyway never rely on a certain output format. So there is nothing to document here. We have a changed behavior here that should be documented. Otherwise users will run into problems. As the non-academic example that raised this discussion shows. - Sebastian
[fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
Antony Dovgal wrote: On 04/17/2007 10:16 PM, Sebastian Nohn wrote: Dmitry Stogov wrote: It is bad practice to use echo $float or var_dump($float) because they depends on php.ini settings. You should use printf() of number_format() for deterministic result. ?php $a = 69; $b = $a.; -- that's the very same mistake printf(%d, $a); echo \n; printf(%d, $b); echo \n; ? You're converting float to string and THEN trying to output as integer. My patch returns the old behaviour, though you're code is still wrong. PHP 5.2.2: -1689934592 6 #php -r 'printf(%d, 69);' -1689934592 #php -r 'printf(%d, 69);' 2147483647 #php -v PHP 5.2.2RC1 (cli) (built: Apr 16 2007 10:01:11) $ ./php -v PHP 5.2.2RC2-dev (cli) (built: Apr 17 2007 20:12:31) $ cat ~/test.php ?php $a = 69; $b = 69; $c = $a.; $d = (string)$a; printf(%d, $a); echo \n; printf(%d, $b); echo \n; printf(%d, $c); echo \n; printf(%d, $d); echo \n; ? sh-3.1$ ./php ~/test.php -1689934592 2147483647 6 6 Best regards, Sebastian Nohn -- Sebastian Nohn · Wolfstraße 29 · 53111 Bonn · Germany +49-170-4718105 · http://nohn.net/ · [EMAIL PROTECTED] http://pgpkeys.pca.dfn.de:11371/pks/lookup?op=getfingerprint=onsearch=0xD47D55E0
[fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
Sebastian Nohn wrote: $c = $a.; $d = (string)$a; Forget that. - Sebastian
Re: [fw-general] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
Antony Dovgal wrote: On 04/17/2007 10:16 PM, Sebastian Nohn wrote: Dmitry Stogov wrote: It is bad practice to use echo $float or var_dump($float) because they depends on php.ini settings. You should use printf() of number_format() for deterministic result. ?php $a = 69; $b = $a.; -- that's the very same mistake printf(%d, $a); echo \n; printf(%d, $b); echo \n; ? So please someone take care, that this is fixed in Zend Framework. Occurs at least in Zend_Date_DateObject::date() with $timestamp. - Sebastian
[fw-general] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
On PHP 5.2.1, ZendFramework 0.8.0 Unit Tests pass, while they fail on PHP 5.2.2-dev (latest CVS) on the same machine: 1) testDate(Zend_Date_DateObjectTest) Failed asserting that string:69 is identical to string:6.9E+9 .../tests/Zend/Date/DateObjectTest.php:408 This behaviour is also reproducable on Zend Framework trunk. I don't know, where the bug is (ZF or PHP), so it would be nice, if PHP and ZF developers could come together to solve this. - Sebastian
[fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
On Sat, April 14, 2007 8:29 pm, Antony Dovgal wrote: On 04/14/2007 08:50 PM, Sebastian Nohn wrote: On PHP 5.2.1, ZendFramework 0.8.0 Unit Tests pass, while they fail on PHP 5.2.2-dev (latest CVS) on the same machine: 1) testDate(Zend_Date_DateObjectTest) Failed asserting that string:69 is identical to string:6.9E+9 .../tests/Zend/Date/DateObjectTest.php:408 Would be nice to have a short but complete reproduce case. Referring to some test (which I personally have never seen) is not really helpful. This was the idea why PHP and ZF developers should come together. However, I investigated the issue and here is a small testcase: ?php $a = 69; var_dump($a); $b = A is: .$a; var_dump($b); ? 5.2.1 output is: float(6.9E+9) string(16) A is: 69 5.2.2-dev output is: float(6.9E+9) string(12) A is: 6.9E+9 - Sebastian
[fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
On Mon, April 16, 2007 10:10 am, Antony Dovgal wrote: On 04/15/2007 11:05 AM, Sebastian Nohn wrote: ?php $a = 69; var_dump($a); $b = A is: .$a; var_dump($b); ? 5.2.1 output is: float(6.9E+9) string(16) A is: 69 5.2.2-dev output is: float(6.9E+9) string(12) A is: 6.9E+9 Nice catch, thanks. What do you think is the most correct output for 1 000 000 000 000 000 (with precision = 14)? Versions = 5.2.1 output 1E+15, 5.2.2 says 1.0E+15. Whatever is done, if the result is a different behaviour between 5.2.1 and 5.2.2, it needs to be documented in the change log / release notes. - Sebastian
Re: [fw-general] Re: [PHP-DEV] ZF 0.8.0 Unit Tests behaving different on PHP 5.2.1 and PHP 5.2.2-dev
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Thomas, it should also be mentioned that when you are refferring to a test within ZF you should always look against the latest version of ZF. As already mentioned: This also happens in ZF trunk. ZF unit tests fail on any platform since sometime between 0.8.0 and 0.9.0 (see mine and others unresolved bug reports), so everything 0.8.0 is no reference to test PHP (which I did). Independent on why this failure is there I also have to mention that I think that we will not fix issues within ZF which are raised due to the development tree of a php version. If php 5.2.2 is released and we have an issue with it we will fix it, but as this php version will probably be changed until it's release it would be nonsense to fix bugs which may be not in there when the new version of php is released. At that time I didn't know if the bug is a PHP bug or a ZF bug and I didn't want to investigate. Unfortunately neither PHP nor ZF developers wanted to investigate this, so I did it in the end. Best regards, Sebastian Nohn - -- Sebastian Nohn · Wolfstraße 29 · 53111 Bonn · Germany +49-170-4718105 · http://nohn.net/ · [EMAIL PROTECTED] http://pgpkeys.pca.dfn.de:11371/pks/lookup?op=getfingerprint=onsearch=0xD47D55E0 -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.6 (MingW32) iD8DBQFGI8ebsvwfldR9VeARAqp3AJ9SvZ6wTGfn4B5tMwpdTDmWbOu5QgCgv4/6 uafKqBUpOtnjv1O0FZcFt38= =6wBP -END PGP SIGNATURE-
[fw-general] Re: Zend_Cache_FileBackendTest failing
Fabien MARTY wrote: Zend_Cache tests are ok for me with latest SVN. May you open a bug report with your exact configuration (OS, versions...) ? ZF-463 Sebastian
[fw-general] Zend_Cache_FileBackendTest failing
testCleanModeAllWithHashedDirectoryStructure testCleanModeAll testCleanModeOld testCleanModeNotMatchingTags testCleanModeNotMatchingTags2 testCleanModeNotMatchingTags3 Best regards, Sebastian