[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

2012-04-03 Thread Anatoliy Belsky
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

2012-04-03 Thread Anatoliy Belsky
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