1b8851fccSafresh1use strict; 2b8851fccSafresh1 3014083a1Safresh1use Test::More tests => 2; 4*9f11ffb7Safresh1BEGIN { push @INC, '.' } 5b8851fccSafresh1use t::Watchdog; 6b8851fccSafresh1 7b8851fccSafresh1BEGIN { require_ok "Time::HiRes"; } 8b8851fccSafresh1 9b8851fccSafresh1SKIP: { 10b8851fccSafresh1 skip "no gettimeofday", 1 unless &Time::HiRes::d_gettimeofday; 11b8851fccSafresh1 my ($s, $n, $i) = (0); 12b8851fccSafresh1 for $i (1 .. 100) { 13b8851fccSafresh1 $s += Time::HiRes::time() - CORE::time(); 14b8851fccSafresh1 $n++; 15b8851fccSafresh1 } 16b8851fccSafresh1 # $s should be, at worst, equal to $n 17b8851fccSafresh1 # (CORE::time() may be rounding down, up, or closest), 18b8851fccSafresh1 # but allow 10% of slop. 19b8851fccSafresh1 ok abs($s) / $n <= 1.10 20014083a1Safresh1 or print("# Time::HiRes::time() not close to CORE::time()\n"); 21014083a1Safresh1 printf("# s = $s, n = $n, s/n = %s\n", abs($s)/$n); 22b8851fccSafresh1} 23b8851fccSafresh1 24b8851fccSafresh11; 25