X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FLexical-Types.git;a=blobdiff_plain;f=t%2Flib%2FLexical%2FTypes%2FTestThreads.pm;fp=t%2Flib%2FLexical%2FTypes%2FTestThreads.pm;h=0000000000000000000000000000000000000000;hp=13a72d282246aa003cc395c81a441631d388d788;hb=0c5eb4d19c4c97d9b26e6a3152e447d37db0a36e;hpb=edd9e21a17be0119fc8cdb76fd2d0d26cf913463 diff --git a/t/lib/Lexical/Types/TestThreads.pm b/t/lib/Lexical/Types/TestThreads.pm deleted file mode 100644 index 13a72d2..0000000 --- a/t/lib/Lexical/Types/TestThreads.pm +++ /dev/null @@ -1,52 +0,0 @@ -package Lexical::Types::TestThreads; - -use strict; -use warnings; - -use Config qw<%Config>; - -use VPIT::TestHelpers; - -sub import { - shift; - - require Lexical::Types; - - skip_all 'This Lexical::Types isn\'t thread safe' - unless Lexical::Types::LT_THREADSAFE(); - - my $force = $ENV{PERL_LEXICAL_TYPES_TEST_THREADS} ? 1 : !1; - skip_all 'This perl wasn\'t built to support threads' - unless $Config{useithreads}; - skip_all 'perl 5.13.4 required to test thread safety' - unless $force or "$]" >= 5.013_004; - - load_or_skip_all('threads', $force ? '0' : '1.67', [ ]); - - my %exports = ( - spawn => \&spawn, - ); - - my $pkg = caller; - while (my ($name, $code) = each %exports) { - no strict 'refs'; - *{$pkg.'::'.$name} = $code; - } -} - -sub spawn { - local $@; - my @diag; - my $thread = eval { - local $SIG{__WARN__} = sub { push @diag, "Thread creation warning: @_" }; - threads->create(@_); - }; - push @diag, "Thread creation error: $@" if $@; - if (@diag) { - require Test::Leaner; - Test::Leaner::diag($_) for @diag; - } - return $thread ? $thread : (); -} - -1;