xref: /openbsd-src/gnu/usr.bin/perl/dist/Time-HiRes/t/sleep.t (revision 56d68f1e19ff848c889ecfa71d3a06340ff64892)
1b8851fccSafresh1use strict;
2b8851fccSafresh1
3014083a1Safresh1use Test::More tests => 4;
4*9f11ffb7Safresh1BEGIN { push @INC, '.' }
5b8851fccSafresh1use t::Watchdog;
6b8851fccSafresh1
7b8851fccSafresh1BEGIN { require_ok "Time::HiRes"; }
8b8851fccSafresh1
9b8851fccSafresh1use Config;
10b8851fccSafresh1
11b8851fccSafresh1my $xdefine = '';
12*9f11ffb7Safresh1if (open(XDEFINE, "<", "xdefine")) {
13b8851fccSafresh1    chomp($xdefine = <XDEFINE> || "");
14b8851fccSafresh1    close(XDEFINE);
15b8851fccSafresh1}
16b8851fccSafresh1
17b8851fccSafresh1my $can_subsecond_alarm =
18b8851fccSafresh1   defined &Time::HiRes::gettimeofday &&
19b8851fccSafresh1   defined &Time::HiRes::ualarm &&
20b8851fccSafresh1   defined &Time::HiRes::usleep &&
21b8851fccSafresh1   ($Config{d_ualarm} || $xdefine =~ /-DHAS_UALARM/);
22b8851fccSafresh1
23b8851fccSafresh1eval { Time::HiRes::sleep(-1) };
24b8851fccSafresh1like $@, qr/::sleep\(-1\): negative time not invented yet/,
25b8851fccSafresh1        "negative time error";
26b8851fccSafresh1
27b8851fccSafresh1SKIP: {
28b8851fccSafresh1    skip "no subsecond alarm", 2 unless $can_subsecond_alarm;
29b8851fccSafresh1    my $f = Time::HiRes::time;
30014083a1Safresh1    print("# time...$f\n");
31b8851fccSafresh1    ok 1;
32b8851fccSafresh1
33b8851fccSafresh1    my $r = [Time::HiRes::gettimeofday()];
34b8851fccSafresh1    Time::HiRes::sleep (0.5);
35014083a1Safresh1    printf("# sleep...%s\n", Time::HiRes::tv_interval($r));
36b8851fccSafresh1    ok 1;
37b8851fccSafresh1}
38b8851fccSafresh1
39b8851fccSafresh11;
40