X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit%2FDevel-PeekPoke.git;a=blobdiff_plain;f=t%2F04thread-torture.t;h=fa35099d8ba45e0e1f574774bcafb1db4d496a6b;hp=2424aaebf41f7af95fe96cea76f254d51352dcfe;hb=e38f78849d41e0c2f626dd01adc40efb0493dfc7;hpb=d20da7cf1e348e270e568da11c1e0f7974ac2329 diff --git a/t/04thread-torture.t b/t/04thread-torture.t index 2424aae..fa35099 100644 --- a/t/04thread-torture.t +++ b/t/04thread-torture.t @@ -19,8 +19,12 @@ $|++; # seems to be critical share $::TEST_COUNT; # older perls crash if threads are spawned way too quickly, sleep for 100 msecs -my @pool = map { sleep 0.1 and threads->create(\&run_torture) } (1..10); -$_->join for @pool; +my @pool = map { sleep 0.1 and threads->create(\&run_torture) } (1..($ENV{AUTOMATED_TESTING} ? 20 : 5) ); +for (@pool) { + if ($_->join != 42) { + die ($_->can('error') ? $_->error : "Thread did not finish successfully" ); + } +} if ($ENV{AUTOMATED_TESTING}) { my $vsz; @@ -37,7 +41,7 @@ if ($ENV{AUTOMATED_TESTING}) { print "1..$::TEST_COUNT\n"; sub run_torture { - my $src = do { local (@ARGV, $/) = 't/03torture.t'; <>; }; - eval $src; + do 't/03torture.t'; die $@ if $@ ne ''; + 42; }