RegressionTests__ProcessTest.st
author Claus Gittinger <cg@exept.de>
Mon, 03 Feb 2003 09:45:57 +0100
changeset 181 a56517005229
parent 169 392f64656cd0
child 673 77426f9a7124
permissions -rw-r--r--
category change
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     1
"{ Package: 'exept:regression' }"
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     2
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     3
"{ NameSpace: RegressionTests }"
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     4
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     5
TestCase subclass:#ProcessTest
168
1743d1e0c0ab checkin from browser
penk
parents: 167
diff changeset
     6
	instanceVariableNames:'subProcesses'
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     7
	classVariableNames:''
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     8
	poolDictionaries:''
181
a56517005229 category change
Claus Gittinger <cg@exept.de>
parents: 169
diff changeset
     9
	category:'tests-Regression'
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    10
!
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    11
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    12
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    13
!ProcessTest methodsFor:'test'!
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    14
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    15
tearDown
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    16
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    17
    subProcesses do:[:aProcess|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    18
        aProcess terminate.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    19
    ].
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    20
!
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    21
168
1743d1e0c0ab checkin from browser
penk
parents: 167
diff changeset
    22
testTerminateWithAllSubProcesses
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    23
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    24
    | block masterTask allProcesses|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    25
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    26
    subProcesses := OrderedCollection new.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    27
    block := [ 
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    28
        1 to:10 do:[:index|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    29
            |subTask|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    30
            subTask := [[true] whileTrue:[]] newProcess.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    31
            subTask name:'TestTask no:', index asString.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    32
            subTask priority:4.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    33
            subProcesses add:subTask.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    34
            subTask resume.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    35
        ].
169
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    36
        [true] whileTrue:[Delay waitForSeconds:10].
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    37
    ].
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    38
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    39
    masterTask := block newProcess.
169
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    40
    masterTask beGroupLeader.
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    41
    masterTask priority:8.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    42
    masterTask name:'masterTask'.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    43
    masterTask resume.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    44
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    45
    Delay waitForSeconds:0.5.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    46
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    47
    masterTask terminateWithAllSubprocesses.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    48
    masterTask waitUntilTerminated.          
169
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    49
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    50
    Delay waitForSeconds:1.
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    51
    allProcesses := ProcessorScheduler knownProcesses asOrderedCollection select:[:p | p isDead not].
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    52
    subProcesses do:[:aProcess|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    53
        self should:((allProcesses includes:aProcess) not).
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    54
    ].
169
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    55
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    56
    "
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    57
     self new testTerminateWithAllSubProcesses
392f64656cd0 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 168
diff changeset
    58
    "
167
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    59
! !
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    60
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    61
!ProcessTest class methodsFor:'documentation'!
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    62
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    63
version
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    64
    ^ '$Header$'
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    65
! !