author | Stefan Vogel <sv@exept.de> |
Mon, 07 May 2012 16:01:55 +0200 | |
changeset 673 | 77426f9a7124 |
parent 181 | a56517005229 |
child 1197 | 643aed971b66 |
permissions | -rw-r--r-- |
167 | 1 |
"{ Package: 'exept:regression' }" |
2 |
||
3 |
"{ NameSpace: RegressionTests }" |
|
4 |
||
5 |
TestCase subclass:#ProcessTest |
|
168 | 6 |
instanceVariableNames:'subProcesses' |
167 | 7 |
classVariableNames:'' |
8 |
poolDictionaries:'' |
|
181 | 9 |
category:'tests-Regression' |
167 | 10 |
! |
11 |
||
12 |
||
13 |
!ProcessTest methodsFor:'test'! |
|
14 |
||
15 |
tearDown |
|
16 |
||
17 |
subProcesses do:[:aProcess| |
|
18 |
aProcess terminate. |
|
19 |
]. |
|
20 |
! |
|
21 |
||
168 | 22 |
testTerminateWithAllSubProcesses |
167 | 23 |
|
24 |
| block masterTask allProcesses| |
|
25 |
||
26 |
subProcesses := OrderedCollection new. |
|
27 |
block := [ |
|
28 |
1 to:10 do:[:index| |
|
29 |
|subTask| |
|
30 |
subTask := [[true] whileTrue:[]] newProcess. |
|
31 |
subTask name:'TestTask no:', index asString. |
|
32 |
subTask priority:4. |
|
33 |
subProcesses add:subTask. |
|
34 |
subTask resume. |
|
35 |
]. |
|
169 | 36 |
[true] whileTrue:[Delay waitForSeconds:10]. |
167 | 37 |
]. |
38 |
||
39 |
masterTask := block newProcess. |
|
169 | 40 |
masterTask beGroupLeader. |
167 | 41 |
masterTask priority:8. |
42 |
masterTask name:'masterTask'. |
|
43 |
masterTask resume. |
|
44 |
||
45 |
Delay waitForSeconds:0.5. |
|
46 |
||
673
77426f9a7124
changed: #testTerminateWithAllSubProcesses
Stefan Vogel <sv@exept.de>
parents:
181
diff
changeset
|
47 |
masterTask terminateWithAllSubprocessesInGroup. |
167 | 48 |
masterTask waitUntilTerminated. |
169 | 49 |
|
50 |
Delay waitForSeconds:1. |
|
51 |
allProcesses := ProcessorScheduler knownProcesses asOrderedCollection select:[:p | p isDead not]. |
|
167 | 52 |
subProcesses do:[:aProcess| |
53 |
self should:((allProcesses includes:aProcess) not). |
|
54 |
]. |
|
169 | 55 |
|
56 |
" |
|
57 |
self new testTerminateWithAllSubProcesses |
|
58 |
" |
|
167 | 59 |
! ! |
60 |
||
61 |
!ProcessTest class methodsFor:'documentation'! |
|
62 |
||
63 |
version |
|
64 |
^ '$Header$' |
|
65 |
! ! |