--- embedaddon/php/ext/standard/tests/misc/time_sleep_until_basic.phpt 2012/02/21 23:48:04 1.1.1.1 +++ embedaddon/php/ext/standard/tests/misc/time_sleep_until_basic.phpt 2013/07/22 01:32:09 1.1.1.2 @@ -13,7 +13,19 @@ Michele Orselli mo@ideato.it = (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)