From: Artur Bergman Date: Wed, 26 Sep 2001 07:41:45 +0000 (+0000) Subject: Add in stress_string.t to stress test threads a bit more. X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=1826b481cc82dba5d6ff7566125c96d866f353f0;p=p5sagit%2Fp5-mst-13.2.git Add in stress_string.t to stress test threads a bit more. p4raw-id: //depot/perl@12226 --- diff --git a/MANIFEST b/MANIFEST index d10e42d..f991486 100644 --- a/MANIFEST +++ b/MANIFEST @@ -577,6 +577,7 @@ ext/threads/t/basic.t ithreads ext/threads/threads.h ithreads ext/threads/threads.pm ithreads ext/threads/threads.xs ithreads +ext/threads/t/stress_string.t Test with multiple threads, string cv argument. ext/Time/HiRes/Changes Time::HiRes extension ext/Time/HiRes/hints/dynixptx.pl Hint for Time::HiRes for named architecture ext/Time/HiRes/hints/sco.pl Hints for Time::HiRes for named architecture diff --git a/ext/threads/t/stress_string.t b/ext/threads/t/stress_string.t new file mode 100644 index 0000000..369858e --- /dev/null +++ b/ext/threads/t/stress_string.t @@ -0,0 +1,51 @@ +BEGIN { + chdir 't' if -d 't'; + @INC = '../lib'; + require Config; import Config; + unless ($Config{'useithreads'}) { + print "1..0 # Skip: no useithreads\n"; + exit 0; + } +} + +use ExtUtils::testlib; +use strict; +BEGIN { print "1..64\n" }; +use threads; + + +print "ok 1\n"; + + + + +sub ok { + my ($id, $ok, $name) = @_; + + # You have to do it this way or VMS will get confused. + print $ok ? "ok $id - $name\n" : "not ok $id - $name\n"; + + printf "# Failed test at line %d\n", (caller)[2] unless $ok; + + return $ok; +} + + +ok(2,1,""); + +sub test9 { + my $i = shift; + ok($i,1,"Multiple thread test"); + for(1..20000) { $i++}; +} +my @threads; +for(3..33) { + push @threads ,threads->create('test9',$_); +} +sleep 1; +my $i = 34; +for(@threads) { + $_->join; + ok($i++,1,"Thread joined"); +} +