X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2Flib%2FScope%2FUpper%2FTestThreads.pm;h=6bb179f74f88f23e7bfd202e12c84cb06b1c9c78;hb=c50db90df8e42e68dbec0a73acc5010cc951d19d;hp=624065283f1b0bc06b396b6a1d8c05f2510b1c9b;hpb=2f468390ee816db81380ced997a5b75660c01d46;p=perl%2Fmodules%2FScope-Upper.git diff --git a/t/lib/Scope/Upper/TestThreads.pm b/t/lib/Scope/Upper/TestThreads.pm index 6240652..6bb179f 100644 --- a/t/lib/Scope/Upper/TestThreads.pm +++ b/t/lib/Scope/Upper/TestThreads.pm @@ -7,11 +7,7 @@ use Config qw<%Config>; use Scope::Upper qw; -sub skipall { - my ($msg) = @_; - require Test::Leaner; - Test::Leaner::plan(skip_all => $msg); -} +use VPIT::TestHelpers; sub diag { require Test::Leaner; @@ -21,34 +17,22 @@ sub diag { sub import { shift; - skipall 'This Scope::Upper isn\'t thread safe' unless SU_THREADSAFE; + skip_all 'This Scope::Upper isn\'t thread safe' unless SU_THREADSAFE; my $force = $ENV{PERL_SCOPE_UPPER_TEST_THREADS} ? 1 : !1; - skipall 'This perl wasn\'t built to support threads' + skip_all 'This perl wasn\'t built to support threads' unless $Config{useithreads}; - skipall 'perl 5.13.4 required to test thread safety' + skip_all 'perl 5.13.4 required to test thread safety' unless $force or "$]" >= 5.013_004; - my $t_v = $force ? '0' : '1.67'; - my $has_threads = do { - local $@; - eval "use threads $t_v; 1"; - }; - skipall "threads $t_v required to test thread safety" unless $has_threads; - - defined and diag "Using threads $_" for $threads::VERSION; - - my $has_time_hires = do { - local $@; - eval { require Time::HiRes; 1 }; - }; + load_or_skip_all('threads', $force ? '0' : '1.67', [ ]); my %exports = ( spawn => \&spawn, ); my $usleep; - if ($has_time_hires) { + if (do { local $@; eval { require Time::HiRes; 1 } }) { defined and diag "Using Time::HiRes $_" for $Time::HiRes::VERSION; $exports{usleep} = \&Time::HiRes::usleep; } else {