X-Git-Url: http://git.vpit.fr/?a=blobdiff_plain;f=t%2F59-unwind-threads.t;h=aabb5fe635f7cd19d39f588ed4cda80199de53bb;hb=f1d34eeb61ec676615d9aafe69110af9b0dc302a;hp=30e16d351976d68e1d79e03528f187387bf292cf;hpb=3a414dec45c3c2519b8384e8d81a986e9b76329f;p=perl%2Fmodules%2FScope-Upper.git diff --git a/t/59-unwind-threads.t b/t/59-unwind-threads.t index 30e16d3..aabb5fe 100644 --- a/t/59-unwind-threads.t +++ b/t/59-unwind-threads.t @@ -12,19 +12,26 @@ sub skipall { use Config qw/%Config/; BEGIN { + my $force = $ENV{PERL_SCOPE_UPPER_TEST_THREADS} ? 1 : !1; + my $t_v = $force ? '0' : '1.67'; skipall 'This perl wasn\'t built to support threads' unless $Config{useithreads}; - skipall 'threads required to test thread safety' unless eval "use threads; 1"; + skipall 'perl 5.13.4 required to test thread safety' + unless $force or $] >= 5.013004; + skipall "threads $t_v required to test thread safety" + unless eval "use threads $t_v; 1"; } -my $num; -BEGIN { $num = 20; } +use Test::More; + +use Scope::Upper qw/unwind UP SU_THREADSAFE/; -use Test::More tests => $num; +my $num; BEGIN { + skipall 'This Scope::Upper isn\'t thread safe' unless SU_THREADSAFE; + plan tests => ($num = 30); defined and diag "Using threads $_" for $threads::VERSION; - if (eval "use Time::HiRes; 1") { defined and diag "Using Time::HiRes $_" for $Time::HiRes::VERSION; *usleep = \&Time::HiRes::usleep; @@ -37,13 +44,8 @@ BEGIN { } } -use Scope::Upper qw/unwind UP/; - our $z; -BEGIN { -} - sub up1 { my $tid = threads->tid(); local $z = $tid;