initial checkin
authorpenk
Fri, 27 Sep 2002 16:48:14 +0200
changeset 167 9eaba93b7441
parent 166 79ff0709dccb
child 168 1743d1e0c0ab
initial checkin
RegressionTests__ProcessTest.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RegressionTests__ProcessTest.st	Fri Sep 27 16:48:14 2002 +0200
@@ -0,0 +1,61 @@
+"{ Package: 'exept:regression' }"
+
+"{ NameSpace: RegressionTests }"
+
+TestCase subclass:#ProcessTest
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Tests-Regression'
+!
+
+
+!ProcessTest methodsFor:'test'!
+
+tearDown
+
+    subProcesses do:[:aProcess|
+        aProcess terminate.
+    ].
+!
+
+test
+
+    | block masterTask allProcesses|
+
+    subProcesses := OrderedCollection new.
+    block := [ 
+        1 to:10 do:[:index|
+            |subTask|
+            subTask := [[true] whileTrue:[]] newProcess.
+            subTask name:'TestTask no:', index asString.
+            subTask priority:4.
+            subProcesses add:subTask.
+            subTask resume.
+        ].
+        Delay waitForSeconds:10.
+    ].
+
+    masterTask := block newProcess.
+    masterTask priority:8.
+    masterTask name:'masterTask'.
+    masterTask resume.
+
+    Delay waitForSeconds:0.5.
+
+    masterTask terminateWithAllSubprocesses.
+    masterTask waitUntilTerminated.          
+    allProcesses := ProcessorScheduler knownProcesses asOrderedCollection.
+    subProcesses do:[:aProcess|
+        self should:((allProcesses includes:aProcess) not).
+    ].
+"
+    self new test
+"
+! !
+
+!ProcessTest class methodsFor:'documentation'!
+
+version
+    ^ '$Header$'
+! !