RegressionTests__ManyProcessesTest.st
author ca
Sat, 01 Feb 2003 14:02:41 +0100
changeset 176 fecc9fedafde
child 177 874799ec846c
permissions -rw-r--r--
initial checkin
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
"
fecc9fedafde initial checkin
ca
parents:
diff changeset
    15
self start:100
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
    Transcript showCR:'done'.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    28
!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    29
fecc9fedafde initial checkin
ca
parents:
diff changeset
    30
test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    31
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    32
     self new test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    33
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    34
    |waitSema repeat|
fecc9fedafde initial checkin
ca
parents:
diff changeset
    35
fecc9fedafde initial checkin
ca
parents:
diff changeset
    36
    repeat := 4.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    37
fecc9fedafde initial checkin
ca
parents:
diff changeset
    38
    waitSema := Semaphore new.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    39
    waitSema setCount:(1 - repeat).
fecc9fedafde initial checkin
ca
parents:
diff changeset
    40
fecc9fedafde initial checkin
ca
parents:
diff changeset
    41
    repeat timesRepeat:[
fecc9fedafde initial checkin
ca
parents:
diff changeset
    42
        [ [self start:100] ensure:[waitSema signal] 
fecc9fedafde initial checkin
ca
parents:
diff changeset
    43
        ] forkAt:8.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    44
    ].
fecc9fedafde initial checkin
ca
parents:
diff changeset
    45
    waitSema wait
fecc9fedafde initial checkin
ca
parents:
diff changeset
    46
! !
fecc9fedafde initial checkin
ca
parents:
diff changeset
    47
fecc9fedafde initial checkin
ca
parents:
diff changeset
    48
!ManyProcessesTest class methodsFor:'documentation'!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    49
fecc9fedafde initial checkin
ca
parents:
diff changeset
    50
version
fecc9fedafde initial checkin
ca
parents:
diff changeset
    51
    ^ '$Header$'
fecc9fedafde initial checkin
ca
parents:
diff changeset
    52
! !