io.ports: Make buffered-port not have a length because of Linux virtual files and TCP sockets.
Related to issues #1256 and #1259.db4
parent
0b460c431b
commit
c59a025288
|
@ -1,6 +1,8 @@
|
||||||
USING: accessors alien.c-types alien.data destructors io
|
USING: accessors alien.c-types alien.data destructors io
|
||||||
io.directories io.encodings.ascii io.encodings.binary io.files
|
io.directories io.encodings.ascii io.encodings.binary
|
||||||
io.files.temp io.pipes kernel libc math sequences tools.test ;
|
io.encodings.string io.encodings.utf8 io.files io.files.temp
|
||||||
|
io.pipes io.sockets kernel libc math namespaces sequences
|
||||||
|
tools.test ;
|
||||||
IN: io.ports.tests
|
IN: io.ports.tests
|
||||||
|
|
||||||
! Make sure that writing malloced storage to a file works, and
|
! Make sure that writing malloced storage to a file works, and
|
||||||
|
@ -29,3 +31,12 @@ IN: io.ports.tests
|
||||||
[ +byte+ ] [ binary <pipe> [ out>> stream-element-type ] with-disposal ] unit-test
|
[ +byte+ ] [ binary <pipe> [ out>> stream-element-type ] with-disposal ] unit-test
|
||||||
[ +character+ ] [ ascii <pipe> [ stream-element-type ] with-disposal ] unit-test
|
[ +character+ ] [ ascii <pipe> [ stream-element-type ] with-disposal ] unit-test
|
||||||
[ +character+ ] [ ascii <pipe> [ out>> stream-element-type ] with-disposal ] unit-test
|
[ +character+ ] [ ascii <pipe> [ out>> stream-element-type ] with-disposal ] unit-test
|
||||||
|
|
||||||
|
! Issue #1256 regression test
|
||||||
|
! Port length would be zero before data is received
|
||||||
|
{ f } [
|
||||||
|
"google.com" 80 <inet> binary [
|
||||||
|
"GET /\n" utf8 encode write flush
|
||||||
|
input-stream get stream-contents
|
||||||
|
] with-client empty?
|
||||||
|
] unit-test
|
||||||
|
|
|
@ -208,8 +208,9 @@ M: output-port stream-seek
|
||||||
M: buffered-port stream-seekable?
|
M: buffered-port stream-seekable?
|
||||||
handle>> can-seek-handle? ;
|
handle>> can-seek-handle? ;
|
||||||
|
|
||||||
|
! Cannot be ``handle>> handle-length`` because of a race condition.
|
||||||
M: buffered-port stream-length
|
M: buffered-port stream-length
|
||||||
handle>> handle-length ;
|
drop f ;
|
||||||
|
|
||||||
GENERIC: shutdown ( handle -- )
|
GENERIC: shutdown ( handle -- )
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue