#OTHER by cg
class: RegressionTests::OperationInQueueTests
changed:
#test1
#test2
#test3
--- a/RegressionTests__OperationInQueueTests.st Tue Jul 03 10:42:21 2018 +0200
+++ b/RegressionTests__OperationInQueueTests.st Tue Jul 03 11:50:29 2018 +0200
@@ -18,86 +18,103 @@
|op opQ rslt|
opQ := OperationQueue new.
-
op := [ 1 + 2 ].
- rslt := opQ scheduleOperation:op.
+ ([
+ rslt := opQ scheduleOperation:op.
+ self assert:(rslt == 3)
+ ] valueWithTimeout:10 seconds)
+ isNil ifTrue:[
+ self assert:false message:'test did not finish within 30 seconds'
+ ].
- self assert:(rslt == 3)
+ "Modified (format): / 03-07-2018 / 11:48:52 / Claus Gittinger"
!
test2
|op opQ rslt|
opQ := OperationQueue new.
-
op := 1.
- rslt := opQ scheduleOperation:op.
+ ([
+ rslt := opQ scheduleOperation:op.
+ self assert:(rslt == 1)
+ ] valueWithTimeout:10 seconds)
+ isNil ifTrue:[
+ self assert:false message:'test did not finish within 10 seconds'
+ ].
- self assert:(rslt == 1)
+ "Modified (format): / 03-07-2018 / 11:48:55 / Claus Gittinger"
!
test3
|op opQ val1 val2 val3 val1b val2b val3b
rslt rslt1 rslt2 rslt3 p0 p1 p2 p3 rslt1b rslt2b rslt3b p1b p2b p3b sz|
- opQ := OperationQueue new.
- opQ consumerProcessPriority:8.
+ ([
+ opQ := OperationQueue new.
+ opQ consumerProcessPriority:8.
+
+ op := '1'.
+ rslt := opQ scheduleOperation:op.
- op := '1'.
- rslt := opQ scheduleOperation:op.
+ self assert:(rslt = '1').
+
+ self assert:(opQ size == 0).
- self assert:(rslt = '1').
-
- self assert:(opQ size == 0).
+ p0 := [
+ opQ scheduleOperation:[ Delay waitForSeconds:3.].
+ ] fork.
- p0 := [
- opQ scheduleOperation:[ Delay waitForSeconds:3.].
- ] fork.
-
- p1 := [
- rslt1 := opQ scheduleOperation:(val1 := '1').
- ] fork.
+ p1 := [
+ rslt1 := opQ scheduleOperation:(val1 := '1').
+ ] fork.
- p2 := [
- rslt2 := opQ scheduleOperation:(val2 := '2').
- ] fork.
+ p2 := [
+ rslt2 := opQ scheduleOperation:(val2 := '2').
+ ] fork.
- p3 := [
- rslt3 := opQ scheduleOperation:(val3 := '3').
- ] fork.
+ p3 := [
+ rslt3 := opQ scheduleOperation:(val3 := '3').
+ ] fork.
+
+ Delay waitForSeconds:0.5.
+ self assert:((sz := opQ size) == 3).
- Delay waitForSeconds:0.5.
- self assert:((sz := opQ size) == 3).
-
- p1b := [
- rslt1b := opQ scheduleOperation:(val1b := '1').
- ] fork.
+ p1b := [
+ rslt1b := opQ scheduleOperation:(val1b := '1').
+ ] fork.
- p2b := [
- rslt2b := opQ scheduleOperation:(val2b := '2').
- ] fork.
+ p2b := [
+ rslt2b := opQ scheduleOperation:(val2b := '2').
+ ] fork.
- p3b := [
- rslt3b := opQ scheduleOperation:(val3b := '3').
- ] fork.
+ p3b := [
+ rslt3b := opQ scheduleOperation:(val3b := '3').
+ ] fork.
+
+ Delay waitForSeconds:0.5.
+ self assert:(opQ size == 3).
- Delay waitForSeconds:0.5.
- self assert:(opQ size == 3).
-
- Delay waitForSeconds:3.
- self assert:((sz := opQ size) == 0).
+ Delay waitForSeconds:3.
+ self assert:((sz := opQ size) == 0).
- self assert:(val1 == rslt1).
- self assert:(val2 == rslt2).
- self assert:(val3 == rslt3).
- self assert:(rslt1 = rslt1b).
- self assert:(rslt2 = rslt2b).
- self assert:(rslt3 = rslt3b).
- self assert:(val1b = rslt1b).
- self assert:(val2b = rslt2b).
- self assert:(val3b = rslt3b).
+ self assert:(val1 == rslt1).
+ self assert:(val2 == rslt2).
+ self assert:(val3 == rslt3).
+ self assert:(rslt1 = rslt1b).
+ self assert:(rslt2 = rslt2b).
+ self assert:(rslt3 = rslt3b).
+ self assert:(val1b = rslt1b).
+ self assert:(val2b = rslt2b).
+ self assert:(val3b = rslt3b).
+ ] valueWithTimeout:30 seconds)
+ isNil ifTrue:[
+ self assert:false message:'test did not finish within 30 seconds'
+ ].
+
+ "Modified: / 03-07-2018 / 11:48:12 / Claus Gittinger"
! !
!OperationInQueueTests class methodsFor:'documentation'!