RegressionTests__FileStreamTest.st
author Claus Gittinger <cg@exept.de>
Sun, 06 Jun 1999 21:33:14 +0200
changeset 30 22531aeb4ce5
parent 1 0ad7950613c8
child 59 5dfe7fc71559
permissions -rw-r--r--
checkin from browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ NameSpace: RegressionTests }"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#FileStreamTest
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:''
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
     7
	category:'Tests - Streams'
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!FileStreamTest class methodsFor:'tests'!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
createTestFile
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
    "create a test file (100k size)"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
    |f bytes|
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
    f := 'testFile' asFilename writeStream binary.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
    bytes := ByteArray new:1024.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
    1 to:bytes size do:[:i |
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    21
	bytes at:i put:(i \\ 256).
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
    ].
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
    100 timesRepeat:[
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    25
	f nextPutAll:bytes.
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
    ].
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
    f close.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
     self createTestFile
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
    "Created: / 12.8.1998 / 13:25:25 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
readFileExpecting:expect
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
    "read test file, expect n bytes"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    |f buffer n nRead|
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
    f := 'testFile' asFilename readStream binary.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    buffer := ByteArray new:128.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    n := 0.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    [f atEnd] whileFalse:[
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    47
	nRead := f nextBytes:128 into:buffer.
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    48
	n := n + nRead.
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    ].
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
    f close.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
    expect ~~ n ifTrue:[
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    52
	self halt:('got <1p>; expected:<2p>' expandMacrosWith:n with:expect)
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
    ].
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Created: / 12.8.1998 / 13:29:41 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
    "Modified: / 12.8.1998 / 13:36:40 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
test1
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
    "read a file - check count read with files size."
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    |sz|
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    self createTestFile.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    sz := 'testFile' asFilename fileSize.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    self readFileExpecting:sz.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
     self test1
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
    "Modified: / 12.8.1998 / 13:29:55 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
test2
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
    "read a file - check count read with files size.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
     Do this in 20 threads"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    |sz|
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    self createTestFile.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
    sz := 'testFile' asFilename fileSize.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
    20 timesRepeat:[
1
0ad7950613c8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 0
diff changeset
    88
	[self readFileExpecting:sz. 'done' printCR.] fork.
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
    ].
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
     self test2
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "Modified: / 12.8.1998 / 13:30:55 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
test3
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "read a file - check count read with files size.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
     Do this and interrupt the reading thread heavily"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
    |sz p count nLoop|
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    nLoop := 1000.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    self createTestFile.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    sz := 'testFile' asFilename fileSize.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
    p := [
30
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   111
        nLoop timesRepeat:[
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   112
            self readFileExpecting:sz.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   113
        ].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   114
    ] forkAt:7.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   115
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   116
    count := 0.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   117
    [p isDead] whileFalse:[
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   118
        Delay waitForMilliseconds:5.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   119
        p interruptWith:[count := count + 1].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   120
    ].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   121
    ('read file <1p> times; interrupted <2p> times' 
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   122
        expandMacrosWith:nLoop with:count) printCR
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   123
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   124
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   125
     self test3
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   126
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   127
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   128
    "Modified: / 12.8.1998 / 13:42:13 / cg"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   129
!
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   130
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   131
test4
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   132
    "readCheck a pipe.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   133
     Do this and interrupt the reading thread heavily"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   134
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   135
    |sz s p count nLoop|
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   136
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   137
    nLoop := 1000.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   138
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   139
    self createTestFile.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   140
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   141
    s := PipeStream readingFrom:'sleep 5'.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   142
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   143
    p := [
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   144
        s readWait.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   145
        'readWait finished' printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   146
    ] forkAt:7.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   147
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   148
    count := 0.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   149
    [p isDead] whileFalse:[
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   150
        Delay waitForMilliseconds:5.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   151
        p interruptWith:[count := count + 1].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   152
    ].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   153
    ('readWait interrupted <1p> times' 
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   154
        expandMacrosWith:count) printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   155
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   156
    s close.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   157
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   158
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   159
     self test4
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   160
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   161
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   162
    "Modified: / 12.8.1998 / 13:42:13 / cg"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   163
!
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   164
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   165
test5
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   166
    "readCheck a pipe.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   167
     Do this and interrupt the reading thread heavily"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   168
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   169
    |sz s p count nLoop|
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   170
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   171
    nLoop := 1000.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   172
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   173
    self createTestFile.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   174
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   175
    s := PipeStream readingFrom:'sleep 5; echo hello'.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   176
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   177
    p := [
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   178
        s readWait.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   179
        'readWait finished' printCR.
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
    ] forkAt:7.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
    count := 0.
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
    [p isDead] whileFalse:[
30
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   184
        Delay waitForMilliseconds:5.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   185
        p interruptWith:[count := count + 1].
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
    ].
30
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   187
    ('readWait interrupted <1p> times' 
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   188
        expandMacrosWith:count) printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   189
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   190
    s close.
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
    "
30
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   193
     self test5
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   194
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   195
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   196
    "Modified: / 12.8.1998 / 13:42:13 / cg"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   197
!
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   198
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   199
test6
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   200
    "read a pipe.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   201
     Do this and interrupt the reading thread heavily"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   202
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   203
    |sz s p count nLoop|
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   204
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   205
    nLoop := 1000.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   206
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   207
    self createTestFile.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   208
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   209
    s := PipeStream readingFrom:'sleep 5'.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   210
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   211
    p := [
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   212
        'read: ' print. s nextLine printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   213
    ] forkAt:7.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   214
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   215
    count := 0.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   216
    [p isDead] whileFalse:[
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   217
        Delay waitForMilliseconds:5.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   218
        p interruptWith:[count := count + 1].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   219
    ].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   220
    ('read interrupted <1p> times' 
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   221
        expandMacrosWith:count) printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   222
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   223
    s close.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   224
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   225
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   226
     self test6
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   227
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   228
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   229
    "Modified: / 12.8.1998 / 13:42:13 / cg"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   230
!
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   231
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   232
test7
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   233
    "read a pipe.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   234
     Do this and interrupt the reading thread heavily"
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   235
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   236
    |sz s p count nLoop|
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   237
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   238
    nLoop := 1000.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   239
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   240
    self createTestFile.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   241
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   242
    s := PipeStream readingFrom:'sleep 5; echo hello'.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   243
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   244
    p := [
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   245
        'read: ' print. s nextLine printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   246
    ] forkAt:7.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   247
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   248
    count := 0.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   249
    [p isDead] whileFalse:[
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   250
        Delay waitForMilliseconds:5.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   251
        p interruptWith:[count := count + 1].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   252
    ].
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   253
    ('read interrupted <1p> times' 
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   254
        expandMacrosWith:count) printCR.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   255
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   256
    s close.
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   257
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   258
    "
22531aeb4ce5 checkin from browser
Claus Gittinger <cg@exept.de>
parents: 1
diff changeset
   259
     self test7
0
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
    "
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   262
    "Modified: / 12.8.1998 / 13:42:13 / cg"
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   263
! !
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
!FileStreamTest class methodsFor:'documentation'!
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   267
version
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
    ^ '$Header$'
cce7631f99b0 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
! !