diff options
-rw-r--r-- | tests/ioCmd.test | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/ioCmd.test b/tests/ioCmd.test index 03242be..e3776bf 100644 --- a/tests/ioCmd.test +++ b/tests/ioCmd.test @@ -1051,6 +1051,21 @@ test iocmd-23.10 {chan read, EAGAIN means no data, yet no eof either} -match glo rename foo {} unset res } -result {{read rc* 4096} {} 0} +test iocmd-23.11 {chan read, close pulls the rug out} -match glob -body { + set res {} + proc foo {args} { + oninit; onfinal; track + set args [lassign $args sub id] + if {$sub ne "read"} {return} + close $id + return {} + } + set c [chan create {r} foo] + note [read $c] + close $c + rename foo {} + set res +} -result {{read rc* 4096} {read rc* 4096} snarfsnarf} # --- === *** ########################### # method write |