com php-src: Fix bug #61517 random test failure - ext/standard/ tests/misc/time_sleep_until_basic.phpt: ext/standar
d/tests/misc/time_sleep_until_basic.phpt
| From: | Anatoliy Belsky | Date: | Tue, 03 Apr 2012 09:04:52 +0000 |
| Subject: | com php-src: Fix bug #61517 random test failure - ext/standard/ tests/misc/time_sleep_until_basic.phpt: ext/standar d/tests/misc/time_sleep_until_basic.phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-68651@lists.php.net to get a copy of this message | ||
Commit: 36449bface319cba5dfa11348e80bf8612f25b15
Author: Anatoliy Belsky <ab@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 mo@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)