X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;ds=sidebyside;f=t%2Flib%2FVariable%2FMagic%2FTestThreads.pm;h=e67ea3f13a99d3f4fcd89c67def4a4a0a48b7fce;hb=93df7812b9a0da8cdfa57a107eb2f8f4b4744b49;hp=a846a5abf587fdd71b5e51ef3fda52caf86e93e7;hpb=dee682e232db910b1e38e162ac51b0d98725e40e;p=perl%2Fmodules%2FVariable-Magic.git diff --git a/t/lib/Variable/Magic/TestThreads.pm b/t/lib/Variable/Magic/TestThreads.pm index a846a5a..e67ea3f 100644 --- a/t/lib/Variable/Magic/TestThreads.pm +++ b/t/lib/Variable/Magic/TestThreads.pm @@ -7,45 +7,26 @@ use Config qw<%Config>; use Variable::Magic qw; -sub skipall { - my ($msg) = @_; - require Test::More; - Test::More::plan(skip_all => $msg); -} +use VPIT::TestHelpers; sub diag { require Test::More; - Test::More::diag(@_); + Test::More::diag($_) for @_; } sub import { shift; - skipall 'This Variable::Magic isn\'t thread safe' unless VMG_THREADSAFE; + skip_all 'This Variable::Magic isn\'t thread safe' unless VMG_THREADSAFE; my $force = $ENV{PERL_VARIABLE_MAGIC_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' - unless $force or "$]" >= 5.013004; + 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; - - my $ts_v = $force ? '0' : '1.14'; - my $has_threads_shared = do { - local $@; - eval "use threads::shared $ts_v; 1"; - }; - skipall "threads::shared $ts_v required to test thread safety" - unless $has_threads_shared; - - defined and diag "Using threads $_" for $threads::VERSION; - defined and diag "Using threads::shared $_" for $threads::shared::VERSION; + load_or_skip_all('threads', $force ? '0' : '1.67', [ ]); + load_or_skip_all('threads::shared', $force ? '0' : '1.14', [ ]); my %exports = ( spawn => \&spawn, @@ -66,10 +47,7 @@ sub spawn { threads->create(@_); }; push @diag, "Thread creation error: $@" if $@; - if (@diag) { - require Test::More; - Test::More::diag($_) for @diag; - } + diag(@diag) if @diag; return $thread ? $thread : (); }