aboutsummaryrefslogtreecommitdiff
path: root/tests/event.test
diff options
context:
space:
mode:
Diffstat (limited to 'tests/event.test')
-rw-r--r--tests/event.test35
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