]> git.vpit.fr Git - perl/modules/VPIT-TestHelpers.git/blob - t/50-usleep.t
Bump copyright year
[perl/modules/VPIT-TestHelpers.git] / t / 50-usleep.t
1 #!perl -T
2
3 use strict;
4 use warnings;
5
6 use VPIT::TestHelpers;
7
8 use Test::More;
9
10 my @impls = qw<Time::HiRes select sleep>;
11
12 my $duration = 1e5;
13
14 for my $impl (@impls) {
15  my $desc = "$impl-based usleep()";
16  {
17   local $SIG{__WARN__} = sub {
18    my $msg = join ' ', @_;
19    if ($msg !~ /Subroutine main::usleep redefined/) {
20     CORE::warn $msg;
21    }
22    return;
23   };
24   VPIT::TestHelpers->import(usleep => [ $impl ]);
25  }
26  my $has_usleep = do {
27   local $@;
28   eval 'defined &main::usleep';
29  };
30  ok $has_usleep, "$desc was imported";
31  my $ret = usleep($duration);
32  cmp_ok $ret, '>=', $duration, "$desc did sleep";
33  diag "$desc actually slept $ret microseconds";
34 }
35
36 done_testing;