Commit: 469cd3abf131853b5c727c7ebffff84754d8383c 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=469cd3abf131853b5c727c7ebffff84754d8383c 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