X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F50-usleep.t;h=217231d19cb9fb2b8864f700bdada1adab45b68a;hb=2a6ac0f1b934d60631de30d3f14a38667b389cad;hp=4ed179ef80cf9a08c81b67d0720a70d38e053e54;hpb=4598e3669eee23f67bac4a1dc541740b1447591b;p=perl%2Fmodules%2FVPIT-TestHelpers.git diff --git a/t/50-usleep.t b/t/50-usleep.t index 4ed179e..217231d 100644 --- a/t/50-usleep.t +++ b/t/50-usleep.t @@ -3,12 +3,34 @@ use strict; use warnings; -use VPIT::TestHelpers 'usleep'; +use VPIT::TestHelpers; -use Test::More tests => 2; +use Test::More; -pass 'before usleep()'; +my @impls = qw; -usleep 100; +my $duration = 1e5; -pass 'after usleep()'; +for my $impl (@impls) { + my $desc = "$impl-based usleep()"; + { + local $SIG{__WARN__} = sub { + my $msg = join ' ', @_; + if ($msg !~ /Subroutine main::usleep redefined/) { + CORE::warn $msg; + } + return; + }; + VPIT::TestHelpers->import(usleep => [ $impl ]); + } + my $has_usleep = do { + local $@; + eval 'defined &main::usleep'; + }; + ok $has_usleep, "$desc was imported"; + my $ret = usleep($duration); + cmp_ok $ret, '>=', $duration, "$desc did sleep"; + diag "$desc actually slept $ret microseconds"; +} + +done_testing;