Patch time_sleep_until_basic.diff for Testing related Bug #61517
Patch version 2012-03-26 16:55 UTC
Return to Bug #61517 |
Download this patch
Patch Revisions:
Developer: mattficken
--- C:/Users/v-mafick.REDMOND/Downloads/php-5.3-src-r324324/php-5.3-src-r324324/ext/standard/tests/misc/time_sleep_until_basic.phpt Sun Oct 23 03:09:29 2011
+++ C:/Users/v-mafick.REDMOND/Desktop/time_sleep_until_basic.phpt Mon Feb 20 15:57:21 2012
@@ -13,7 +13,19 @@
<?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)
|