X-Git-Url: http://git.vpit.fr/?p=perl%2Fmodules%2FScope-Upper.git;a=blobdiff_plain;f=t%2F54-unwind-threads.t;h=490e6ad56137d6f5ba69e1b82884316ccb17989f;hp=559993823e2759160260b652b14f77bd36038f88;hb=57746d0b3de44a1205902e433488c8a1afe69469;hpb=1958b3c51f5a5e55822bc1ce12487535a59e12f8 diff --git a/t/54-unwind-threads.t b/t/54-unwind-threads.t index 5599938..490e6ad 100644 --- a/t/54-unwind-threads.t +++ b/t/54-unwind-threads.t @@ -1,18 +1,18 @@ -#!perl -T +#!perl use strict; use warnings; -use Scope::Upper qw; - use lib 't/lib'; use VPIT::TestHelpers ( - threads => [ 'Scope::Upper' => Scope::Upper::SU_THREADSAFE ], + threads => [ 'Scope::Upper' => 'Scope::Upper::SU_THREADSAFE()' ], 'usleep', ); use Test::Leaner; +use Scope::Upper qw; + our $z; sub up1 { @@ -20,7 +20,7 @@ sub up1 { local $z = $tid; my $p = "[$tid] up1"; - usleep rand(1e6); + usleep rand(2.5e5); my @res = ( -1, @@ -38,12 +38,17 @@ sub up1 { ); is_deeply \@res, [ -1, $tid .. $tid + 2, -2 ], "$p: unwinded correctly"; + + return 1; } my @threads = map spawn(\&up1), 1 .. 30; -$_->join for @threads; +my $completed = 0; +for my $thr (@threads) { + ++$completed if $thr->join; +} pass 'done'; -done_testing(scalar(@threads) + 1); +done_testing($completed + 1);