RegressionTests__ProcessTest.st
author penk
Mon, 30 Sep 2002 09:58:43 +0200
changeset 168 1743d1e0c0ab
parent 167 9eaba93b7441
child 169 392f64656cd0
permissions -rw-r--r--
checkin from browser
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:''
9eaba93b7441 initial checkin
penk
parents:
diff changeset
     9
	category:'Tests-Regression'
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
        ].
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    36
        Delay waitForSeconds:10.
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.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    40
    masterTask priority:8.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    41
    masterTask name:'masterTask'.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    42
    masterTask resume.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    43
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    44
    Delay waitForSeconds:0.5.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    45
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    46
    masterTask terminateWithAllSubprocesses.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    47
    masterTask waitUntilTerminated.          
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    48
    allProcesses := ProcessorScheduler knownProcesses asOrderedCollection.
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    49
    subProcesses do:[:aProcess|
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    50
        self should:((allProcesses includes:aProcess) not).
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    51
    ].
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    52
"
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    53
    self new test
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    54
"
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    55
! !
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    56
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    57
!ProcessTest class methodsFor:'documentation'!
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    58
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    59
version
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    60
    ^ '$Header$'
9eaba93b7441 initial checkin
penk
parents:
diff changeset
    61
! !