diff options
Diffstat (limited to 'tests/event.test')
-rw-r--r-- | tests/event.test | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/tests/event.test b/tests/event.test index 856e0cc..096f21b 100644 --- a/tests/event.test +++ b/tests/event.test @@ -15,6 +15,8 @@ needs cmd after eventloop testConstraint socket [expr {[info commands socket] ne ""}] testConstraint exec [expr {[info commands exec] ne ""}] testConstraint signal [expr {[info commands signal] ne ""}] +catch {[socket -ipv6 stream ::1:5000]} ipv6res +testConstraint ipv6 [expr {$ipv6res ne "ipv6 not supported"}] test event-5.1 {Tcl_BackgroundError, HandleBgErrors procedures} jim { catch {rename bgerror {}} @@ -152,7 +154,6 @@ test event-11.6 {Tcl_VwaitCmd procedure: round robin scheduling, same source} {s list $x $y $z } {3 3 done} - test event-12.1 {Tcl_UpdateCmd procedure} { list [catch {update a b} msg] $msg } {1 {wrong # args: should be "update ?idletasks?"}} @@ -200,4 +201,36 @@ test event-13.1 "vwait/signal" signal { } msg] $msg } {5 SIGALRM} + +test event-14.1 {socket stream.server client address} {jim socket} { + set s1 [socket stream.server 5001] + after 200 + set s2 [socket stream 127.0.0.1:5001] + set addr {} + $s1 readable { + $s1 accept addr + } + vwait addr + $s1 close + $s2 close + # Return client address without the port. + list [lindex [split $addr :] 0] +} {127.0.0.1} + +test event-14.2 {IPv6 socket stream.server client address} {jim socket ipv6} { + set s1 [socket -ipv6 stream.server ::1:5001] + after 200 + set s2 [socket -ipv6 stream ::1:5001] + set addr6 {} + $s1 readable { + $s1 accept addr6 + } + vwait addr6 + $s1 close + $s2 close + # Return client IPv6 address without the port. + list [join [lrange [split $addr6 :] 0 end-1] :] +} {{[::1]}} + + testreport |