RegressionTests__DelayTest.st
author Claus Gittinger <cg@exept.de>
Sun, 31 Jul 2011 18:45:52 +0200
changeset 592 86f714dd5523
parent 586 09a3e838d002
child 626 c6e1a12161b3
permissions -rw-r--r--
class definition added:6 methods
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
     1
"{ Package: 'exept:regression' }"
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     2
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
     3
"{ NameSpace: RegressionTests }"
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     4
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     5
TestCase subclass:#DelayTest
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     6
	instanceVariableNames:''
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     7
	classVariableNames:''
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
     8
	poolDictionaries:''
181
a56517005229 category change
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
     9
	category:'tests-Regression'
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    10
!
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    11
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    12
586
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    13
!DelayTest class methodsFor:'others'!
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    14
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    15
version_CVS
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    16
    ^ '$Header$'
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    17
! !
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    18
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    19
!DelayTest class methodsFor:'queries'!
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    20
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    21
coveredClasses
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    22
    ^ Array with:Delay
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    23
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    24
    "Created: / 05-07-2011 / 09:51:28 / cg"
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    25
! !
09a3e838d002 class definition
Claus Gittinger <cg@exept.de>
parents: 181
diff changeset
    26
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    27
!DelayTest methodsFor:'tests'!
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    28
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    29
test1
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    30
    |n|
55
25eec262afe8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    32
    [
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    33
        n := 0.
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    34
        [n < 10] whileTrue:[
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    35
           Delay waitForSeconds:0.1.
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    36
           Transcript showCR:n.
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    37
           n := n + 1.
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    38
        ]
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    39
    ] forkAt:(Processor activePriority - 1).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    40
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    41
    self assert:(n == nil).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    42
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    43
    Delay waitForSeconds:0.1.
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    44
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    45
    self assert:(n == 0).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    46
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    47
    Delay waitForSeconds:1.5.
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    48
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    49
    self assert:(n == 10).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    50
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    51
    "
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    52
     self basicNew test1
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    53
    "
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    54
!
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    55
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    56
test2
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    57
    |n|
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    58
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    59
    [
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    60
        n := 0.
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    61
        [n < 10] whileTrue:[
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    62
           Delay waitForSeconds:0.1.
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    63
           Transcript showCR:n.
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    64
           n := n + 1.
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    65
        ]
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    66
    ] forkAt:(Processor activePriority + 1).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    67
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    68
    self assert:(n == 0).
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
    69
    Delay waitForSeconds:1.1.
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    70
    self assert:(n == 10).
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    71
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    72
    "
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    73
     self basicNew test2
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    74
    "
592
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    75
!
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    76
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    77
test3_longDelay
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    78
    "in stx6.2.1, the following does not wait, due to an overflow in
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    79
     the millisecond computation..."
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    80
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    81
    |stillWaiting watchDogBite|
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    82
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    83
    [
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    84
        watchDogBite := false.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    85
        stillWaiting := true.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    86
        Delay waitForSeconds:1000000.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    87
        stillWaiting := false.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    88
    ] valueWithWatchDog:[ watchDogBite := true] afterMilliseconds:1000.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    89
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    90
    self assert:stillWaiting.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    91
    self assert:watchDogBite.
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    92
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    93
    "
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    94
     self basicNew test3_longDelay
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    95
    "
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    96
86f714dd5523 class definition
Claus Gittinger <cg@exept.de>
parents: 586
diff changeset
    97
    "Created: / 31-07-2011 / 18:44:53 / cg"
96
d3bad7e5e094 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 55
diff changeset
    98
! !
105
08178a40c828 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 96
diff changeset
    99
106
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
   100
!DelayTest class methodsFor:'documentation'!
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
   101
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
   102
version
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
   103
    ^ '$Header$'
eb04184845c7 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 105
diff changeset
   104
! !