]> git.vpit.fr Git - perl/modules/VPIT-TestHelpers.git/blob - t/50-usleep.t
More flexible selection of usleep() implementations
[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 sleep>;
11
12 for my $impl (@impls) {
13  my $desc = "$impl-based usleep()";
14  {
15   local $SIG{__WARN__} = sub {
16    my $msg = join ' ', @_;
17    if ($msg !~ /Subroutine main::usleep redefined/) {
18     CORE::warn $msg;
19    }
20    return;
21   };
22   VPIT::TestHelpers->import(usleep => [ $impl ]);
23  }
24  my $has_usleep = do {
25   local $@;
26   eval 'defined &main::usleep';
27  };
28  ok $has_usleep, "$desc was imported";
29  my $ret = usleep(100);
30  pass "$desc did sleep";
31  diag "$desc actually slept $ret microseconds";
32 }
33
34 done_testing;