Update Changes.
[p5sagit/p5-mst-13.2.git] / ext / threads / t / stress_string.t
1 BEGIN {
2     chdir 't' if -d 't';
3     @INC = '../lib';
4     require Config; import Config;
5     unless ($Config{'useithreads'}) {
6         print "1..0 # Skip: no useithreads\n";
7         exit 0; 
8     }
9 }
10
11 use ExtUtils::testlib;
12 use strict;
13 BEGIN { print "1..64\n" };
14 use threads;
15
16
17 print "ok 1\n";
18
19
20
21
22 sub ok {        
23     my ($id, $ok, $name) = @_;
24     
25     # You have to do it this way or VMS will get confused.
26     print $ok ? "ok $id - $name\n" : "not ok $id - $name\n";
27
28     printf "# Failed test at line %d\n", (caller)[2] unless $ok;
29     
30     return $ok;
31 }
32
33
34 ok(2,1,"");
35
36 sub test9 {
37   my $i = shift;
38   for(1..500000) { $i++};
39 }
40 my @threads;
41 for(3..33) {
42   ok($_,1,"Multiple thread test");
43   push @threads ,threads->create('test9',$_);
44 }
45
46 my $i = 34;
47 for(@threads) {
48   $_->join;
49   ok($i++,1,"Thread joined");
50 }
51