sleep.t revision 1.6
1use strict;
2
3use Test::More tests => 4;
4BEGIN { push @INC, '.' }
5use t::Watchdog;
6
7BEGIN { require_ok "Time::HiRes"; }
8
9use Config;
10
11my $xdefine = '';
12if (open(XDEFINE, "<", "xdefine")) {
13    chomp($xdefine = <XDEFINE> || "");
14    close(XDEFINE);
15}
16
17my $can_subsecond_alarm =
18   defined &Time::HiRes::gettimeofday &&
19   defined &Time::HiRes::ualarm &&
20   defined &Time::HiRes::usleep &&
21   ($Config{d_ualarm} || $xdefine =~ /-DHAS_UALARM/);
22
23eval { Time::HiRes::sleep(-1) };
24like $@, qr/::sleep\(-1\): negative time not invented yet/,
25        "negative time error";
26
27SKIP: {
28    skip "no subsecond alarm", 2 unless $can_subsecond_alarm;
29    my $f = Time::HiRes::time;
30    print("# time...$f\n");
31    ok 1;
32
33    my $r = [Time::HiRes::gettimeofday()];
34    Time::HiRes::sleep (0.5);
35    printf("# sleep...%s\n", Time::HiRes::tv_interval($r));
36    ok 1;
37}
38
391;
40