summaryrefslogtreecommitdiffstats
path: root/tests/ioTrans.test
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2014-04-25 17:34:11 (GMT)
committerdgp <dgp@users.sourceforge.net>2014-04-25 17:34:11 (GMT)
commit0781259dd17444340c1a926c4cd2b5ade72bfebe (patch)
tree98d9db2e41a67bb86585de1fa5cb5bd1e83b0074 /tests/ioTrans.test
parent790e5adaf4cabf6c9dcaa3d109427dbe18f786ff (diff)
downloadtcl-0781259dd17444340c1a926c4cd2b5ade72bfebe.zip
tcl-0781259dd17444340c1a926c4cd2b5ade72bfebe.tar.gz
tcl-0781259dd17444340c1a926c4cd2b5ade72bfebe.tar.bz2
Test iortrans-4.8.2 demos an infinite loop. Possible trouble with
pushback buffers.
Diffstat (limited to 'tests/ioTrans.test')
-rw-r--r--tests/ioTrans.test20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/ioTrans.test b/tests/ioTrans.test
index b21d894..3bbd170 100644
--- a/tests/ioTrans.test
+++ b/tests/ioTrans.test
@@ -559,6 +559,26 @@ test iortrans-4.8.1 {chan read, bug 721ec69271} -setup {
rename foo {}
} -result {{read rt* {test data
}} file*}
+test iortrans-4.8.2 {chan read, bug 721ec69271} -setup {
+ set res {}
+} -match glob -body {
+ proc foo {fd args} {
+ handle.initialize
+ handle.finalize
+ lappend ::res $args
+ # Kill and recreate transform while it is operating
+ chan pop $fd
+ chan push $fd [list foo $fd]
+ return x
+ }
+ set c [chan push [set c [tempchan]] [list foo $c]]
+ chan configure $c -buffersize 1
+ lappend res [read $c]
+} -cleanup {
+ tempdone
+ rename foo {}
+} -result {{read rt* {test data
+}} file*}
test iortrans-4.9 {chan read, gets, bug 2921116} -setup {
set res {}
} -match glob -body {