Annotation of embedaddon/php/ext/standard/tests/misc/time_sleep_until_basic.phpt, revision 1.1.1.2

1.1       misho       1: --TEST--
                      2: time_sleep_until() function - basic test for time_sleep_until()
                      3: --SKIPIF--
                      4: <?php
                      5: if (getenv("SKIP_SLOW_TESTS")) die("skip slow test");
                      6: if (!function_exists("time_sleep_until")) die('skip time_sleep_until() not available');
                      7: ?>
                      8: --CREDITS--
                      9: Manuel Baldassarri mb@ideato.it
                     10: Michele Orselli mo@ideato.it
                     11: #PHPTestFest Cesena Italia on 2009-06-20
                     12: --FILE--
                     13: <?php
                     14:   $time = microtime(true) + 2;
                     15:   var_dump(time_sleep_until( (int)$time ));
1.1.1.2 ! misho      16:   $now = microtime(true);
        !            17:   if(substr(PHP_OS, 0, 3) == 'WIN' ) {
        !            18:     // on windows, time_sleep_until has millisecond accuracy while microtime() is accurate
        !            19:     // to 10th of a second. this means there can be up to a .9 millisecond difference
        !            20:     // which will fail this test. this test randomly fails on Windows and this is the cause.
        !            21:     //
        !            22:     // fix: round to nearest millisecond 
        !            23:     // passes for up to .5 milliseconds less, fails for more than .5 milliseconds
        !            24:     // should be fine since time_sleep_until() on Windows is accurate to the
        !            25:     // millisecond(.5 rounded up is 1 millisecond)
        !            26:     $now = round($now, 3);
        !            27:   }
        !            28:   var_dump($now >= (int)$time);
1.1       misho      29: ?>
                     30: --EXPECT--
                     31: bool(true)
                     32: bool(true)

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>