RegressionTests__ManyProcessesTest.st
author ca
Sat, 01 Feb 2003 16:12:48 +0100
changeset 179 d674b92274e8
parent 178 abfcc1ebc983
child 210 ee39b434235b
permissions -rw-r--r--
checkin from browser

"{ Package: 'exept:regression' }"

Object subclass:#ManyProcessesTest
	instanceVariableNames:''
	classVariableNames:''
	poolDictionaries:''
	category:'Tests-Regression'
!


!ManyProcessesTest methodsFor:'test'!

start:count
"
ManyProcessesTest new test400
"
    |waitSema|

    waitSema := Semaphore new.
    waitSema setCount:(1 - count).

    count timesRepeat:[
        [ [Delay waitForSeconds:0.4.] ensure:[waitSema signal].
        ] forkAt:(Processor userBackgroundPriority)
    ].
    waitSema wait.
!

test400
    "
     self new test400
    "
    |waitSema repeat|

    repeat := 4.

    'Makefile' asFilename readStream close.

    waitSema := Semaphore new.
    waitSema setCount:(1 - repeat).

    repeat timesRepeat:[
        [ [self start:100] ensure:[waitSema signal] 
        ] forkAt:8.
    ].
    waitSema wait.
    Transcript showCR:'done'.
! !

!ManyProcessesTest class methodsFor:'documentation'!

version
    ^ '$Header$'
! !