RegressionTests__ManyProcessesTest.st
author Claus Gittinger <cg@exept.de>
Tue, 09 Jul 2019 18:53:03 +0200
changeset 2327 bf482d49aeaf
parent 2047 5eb55d620590
permissions -rw-r--r--
#QUALITY by exept class: RegressionTests::StringTests added: #test82c_expanding
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1447
2351db93aa5b package changes
Claus Gittinger <cg@exept.de>
parents: 582
diff changeset
     1
"{ Package: 'stx:goodies/regression' }"
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
     2
274
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
     3
"{ NameSpace: RegressionTests }"
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
     4
582
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
     5
nil subclass:#ManyProcessesTest
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
     6
	instanceVariableNames:''
fecc9fedafde initial checkin
ca
parents:
diff changeset
     7
	classVariableNames:''
fecc9fedafde initial checkin
ca
parents:
diff changeset
     8
	poolDictionaries:''
2047
5eb55d620590 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
     9
	category:'tests-Regression-Processes'
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    10
!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    11
fecc9fedafde initial checkin
ca
parents:
diff changeset
    12
582
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    13
!ManyProcessesTest class methodsFor:'others'!
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    14
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    15
version_CVS
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    16
    ^ '$Header$'
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    17
! !
a986aa1a13f4 category
Claus Gittinger <cg@exept.de>
parents: 274
diff changeset
    18
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    19
!ManyProcessesTest methodsFor:'test'!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    20
fecc9fedafde initial checkin
ca
parents:
diff changeset
    21
start:count
fecc9fedafde initial checkin
ca
parents:
diff changeset
    22
"
178
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    23
ManyProcessesTest new test400
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    24
"
fecc9fedafde initial checkin
ca
parents:
diff changeset
    25
    |waitSema|
fecc9fedafde initial checkin
ca
parents:
diff changeset
    26
fecc9fedafde initial checkin
ca
parents:
diff changeset
    27
    waitSema := Semaphore new.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    28
    waitSema setCount:(1 - count).
fecc9fedafde initial checkin
ca
parents:
diff changeset
    29
fecc9fedafde initial checkin
ca
parents:
diff changeset
    30
    count timesRepeat:[
274
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
    31
	[ [Delay waitForSeconds:0.4.] ensure:[waitSema signal].
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
    32
	] forkAt:(Processor userBackgroundPriority)
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    33
    ].
fecc9fedafde initial checkin
ca
parents:
diff changeset
    34
    waitSema wait.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    35
!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    36
fecc9fedafde initial checkin
ca
parents:
diff changeset
    37
test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    38
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    39
     self new test400
fecc9fedafde initial checkin
ca
parents:
diff changeset
    40
    "
fecc9fedafde initial checkin
ca
parents:
diff changeset
    41
    |waitSema repeat|
fecc9fedafde initial checkin
ca
parents:
diff changeset
    42
fecc9fedafde initial checkin
ca
parents:
diff changeset
    43
    repeat := 4.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    44
177
874799ec846c *** empty log message ***
ca
parents: 176
diff changeset
    45
    'Makefile' asFilename readStream close.
874799ec846c *** empty log message ***
ca
parents: 176
diff changeset
    46
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    47
    waitSema := Semaphore new.
fecc9fedafde initial checkin
ca
parents:
diff changeset
    48
    waitSema setCount:(1 - repeat).
fecc9fedafde initial checkin
ca
parents:
diff changeset
    49
fecc9fedafde initial checkin
ca
parents:
diff changeset
    50
    repeat timesRepeat:[
274
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
    51
	[ [self start:100] ensure:[waitSema signal]
14bd9bd8c7f2 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 210
diff changeset
    52
	] forkAt:8.
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    53
    ].
178
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    54
    waitSema wait.
abfcc1ebc983 *** empty log message ***
ca
parents: 177
diff changeset
    55
    Transcript showCR:'done'.
176
fecc9fedafde initial checkin
ca
parents:
diff changeset
    56
! !
fecc9fedafde initial checkin
ca
parents:
diff changeset
    57
fecc9fedafde initial checkin
ca
parents:
diff changeset
    58
!ManyProcessesTest class methodsFor:'documentation'!
fecc9fedafde initial checkin
ca
parents:
diff changeset
    59
fecc9fedafde initial checkin
ca
parents:
diff changeset
    60
version
fecc9fedafde initial checkin
ca
parents:
diff changeset
    61
    ^ '$Header$'
fecc9fedafde initial checkin
ca
parents:
diff changeset
    62
! !
2047
5eb55d620590 #OTHER by cg
Claus Gittinger <cg@exept.de>
parents: 1447
diff changeset
    63