X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScope-Upper.git;a=blobdiff_plain;f=t%2Flib%2FScope%2FUpper%2FTestThreads.pm;h=71b4e621fdc3610c60664b6c411476ab9b2b2b0a;hp=624065283f1b0bc06b396b6a1d8c05f2510b1c9b;hb=c9c2e1e51a8c563265670a5738ba68fad8253419;hpb=ca5036199c5ed4b72e81ea0031887eddf804155c diff --git a/t/lib/Scope/Upper/TestThreads.pm b/t/lib/Scope/Upper/TestThreads.pm index 6240652..71b4e62 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,23 @@ 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('threads', $force ? '0' : '1.67', [ ], + 'required to test thread safety'); 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 {