RegressionTests__ManyProcessesTest.st
author ca
Sat, 01 Feb 2003 14:30:54 +0100
changeset 178 abfcc1ebc983
parent 177 874799ec846c
child 179 d674b92274e8
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
fecc9fedafde initial checkin
ca
parents:
diff changeset
     2
fecc9fedafde initial checkin
ca
parents:
diff changeset
     3
Object subclass:#ManyProcessesTest
fecc9fedafde initial checkin
ca
parents:
diff changeset
     4
	instanceVariableNames:''
fecc9fedafde initial checkin
ca
parents:
diff changeset
     5
	classVariableNames:''
fecc9fedafde initial checkin
ca
parents:
diff changeset
     6
	poolDictionaries:''
fecc9fedafde initial checkin
ca
parents:
diff changeset
     7
	category:'AAA'
fecc9fedafde initial checkin
ca
parents:
diff changeset
     8
!
fecc9fedafde initial checkin
ca
parents:
diff changeset
     9
fecc9fedafde initial checkin
ca
parents:
diff changeset
    10
fecc9fedafde initial checkin
ca
parents:
diff changeset
    11
!ManyProcessesTest methodsFor:'test'!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    12
fecc9fedafde initial checkin
ca
parents:
diff changeset
    13
start:count
fecc9fedafde initial checkin
ca
parents:
diff changeset
    14
"
178
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    15
ManyProcessesTest new test400
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    16
"
fecc9fedafde initial checkin
ca
parents:
diff changeset
    17
    |waitSema|
fecc9fedafde initial checkin
ca
parents:
diff changeset
    18
fecc9fedafde initial checkin
ca
parents:
diff changeset
    19
    waitSema := Semaphore new.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    20
    waitSema setCount:(1 - count).
fecc9fedafde initial checkin
ca
parents:
diff changeset
    21
fecc9fedafde initial checkin
ca
parents:
diff changeset
    22
    count timesRepeat:[
fecc9fedafde initial checkin
ca
parents:
diff changeset
    23
        [ [Delay waitForSeconds:0.4.] ensure:[waitSema signal].
fecc9fedafde initial checkin
ca
parents:
diff changeset
    24
        ] forkAt:(Processor userBackgroundPriority)
fecc9fedafde initial checkin
ca
parents:
diff changeset
    25
    ].
fecc9fedafde initial checkin
ca
parents:
diff changeset
    26
    waitSema wait.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    27
!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    28
fecc9fedafde initial checkin
ca
parents:
diff changeset
    29
test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    30
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    31
     self new test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    32
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    33
    |waitSema repeat|
fecc9fedafde initial checkin
ca
parents:
diff changeset
    34
fecc9fedafde initial checkin
ca
parents:
diff changeset
    35
    repeat := 4.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    36
177
874799ec846c *** empty log message ***
ca
parents: 176
diff changeset
    37
    'Makefile' asFilename readStream close.
874799ec846c *** empty log message ***
ca
parents: 176
diff changeset
    38
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    39
    waitSema := Semaphore new.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    40
    waitSema setCount:(1 - repeat).
fecc9fedafde initial checkin
ca
parents:
diff changeset
    41
fecc9fedafde initial checkin
ca
parents:
diff changeset
    42
    repeat timesRepeat:[
fecc9fedafde initial checkin
ca
parents:
diff changeset
    43
        [ [self start:100] ensure:[waitSema signal] 
fecc9fedafde initial checkin
ca
parents:
diff changeset
    44
        ] forkAt:8.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    45
    ].
178
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    46
    waitSema wait.
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    47
    Transcript showCR:'done'.
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    48
! !
fecc9fedafde initial checkin
ca
parents:
diff changeset
    49
fecc9fedafde initial checkin
ca
parents:
diff changeset
    50
!ManyProcessesTest class methodsFor:'documentation'!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    51
fecc9fedafde initial checkin
ca
parents:
diff changeset
    52
version
fecc9fedafde initial checkin
ca
parents:
diff changeset
    53
    ^ '$Header$'
fecc9fedafde initial checkin
ca
parents:
diff changeset
    54
! !