[PHP-CVS] com php-src: Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt: ext/standard/tests/misc/time_sleep_until_basic.phpt
Commit:469cd3abf131853b5c727c7eb84754d8383c Author:Anatoliy Belsky a...@php.net Tue, 3 Apr 2012 11:04:52 +0200 Parents: 6d97e28e427d99cfa1ccb8ccdfdeffcc2fcdf383 Branches: PHP-5.3 PHP-5.4 Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=469cd3abf131853b5c727c7eb84754d8383c Log: Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt Bugs: https://bugs.php.net/61517 Changed paths: M ext/standard/tests/misc/time_sleep_until_basic.phpt Diff: diff --git a/ext/standard/tests/misc/time_sleep_until_basic.phpt b/ext/standard/tests/misc/time_sleep_until_basic.phpt index 9ae9128..05cc0e6 100644 --- a/ext/standard/tests/misc/time_sleep_until_basic.phpt +++ b/ext/standard/tests/misc/time_sleep_until_basic.phpt @@ -13,7 +13,19 @@ Michele Orselli m...@ideato.it ?php $time = microtime(true) + 2; var_dump(time_sleep_until( (int)$time )); - var_dump(microtime(true) = (int)$time); + $now = microtime(true); + if(substr(PHP_OS, 0, 3) == 'WIN' ) { +// on windows, time_sleep_until has millisecond accuracy while microtime() is accurate +// to 10th of a second. this means there can be up to a .9 millisecond difference +// which will fail this test. this test randomly fails on Windows and this is the cause. +// +// fix: round to nearest millisecond +// passes for up to .5 milliseconds less, fails for more than .5 milliseconds +// should be fine since time_sleep_until() on Windows is accurate to the +// millisecond(.5 rounded up is 1 millisecond) +$now = round($now, 3); + } + var_dump($now = (int)$time); ? --EXPECT-- bool(true) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP-CVS] com php-src: Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt: ext/standard/tests/misc/time_sleep_until_basic.phpt
Commit:36449bface319cba5dfa11348e80bf8612f25b15 Author:Anatoliy Belsky a...@php.net Tue, 3 Apr 2012 11:04:52 +0200 Parents: 7a2885a5913bcd17e8a862e4f2b86599a6f9153c Branches: master Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=36449bface319cba5dfa11348e80bf8612f25b15 Log: Fix bug #61517 random test failure - ext/standard/tests/misc/time_sleep_until_basic.phpt Bugs: https://bugs.php.net/61517 Changed paths: M ext/standard/tests/misc/time_sleep_until_basic.phpt Diff: diff --git a/ext/standard/tests/misc/time_sleep_until_basic.phpt b/ext/standard/tests/misc/time_sleep_until_basic.phpt index 9ae9128..05cc0e6 100644 --- a/ext/standard/tests/misc/time_sleep_until_basic.phpt +++ b/ext/standard/tests/misc/time_sleep_until_basic.phpt @@ -13,7 +13,19 @@ Michele Orselli m...@ideato.it ?php $time = microtime(true) + 2; var_dump(time_sleep_until( (int)$time )); - var_dump(microtime(true) = (int)$time); + $now = microtime(true); + if(substr(PHP_OS, 0, 3) == 'WIN' ) { +// on windows, time_sleep_until has millisecond accuracy while microtime() is accurate +// to 10th of a second. this means there can be up to a .9 millisecond difference +// which will fail this test. this test randomly fails on Windows and this is the cause. +// +// fix: round to nearest millisecond +// passes for up to .5 milliseconds less, fails for more than .5 milliseconds +// should be fine since time_sleep_until() on Windows is accurate to the +// millisecond(.5 rounded up is 1 millisecond) +$now = round($now, 3); + } + var_dump($now = (int)$time); ? --EXPECT-- bool(true) -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php