# Group,Name,Constraints,Setup,Body,Cleanup,Match,Result,Output,Error Output,Return Codes
command,package require udp,,,,,,,,,
,,,,,,,,,,
command,# Constraints,,,,,,,,,
command,"::tcltest::testConstraint win7 [expr {$::tcl_platform(platform) eq ""windows"" && $::tcl_platform(osVersion) == 6.1}]",,,,,,,,,
command,"::tcltest::testConstraint win10 [expr {$::tcl_platform(platform) eq ""windows"" && $::tcl_platform(osVersion) > 6.1}]",,,,,,,,,
command,::tcltest::testConstraint tcl8 [expr {[info tclversion] < 9.0}],,,,,,,,,
command,::tcltest::testConstraint tcl9 [expr {[info tclversion] >= 9.0}],,,,,,,,,
command,"::tcltest::testConstraint mac [expr {$tcl_platform(os) eq ""Darwin""}]",,,,,,,,,
command,"::tcltest::testConstraint !mac [expr {$tcl_platform(os) ne ""Darwin""}]",,,,,,,,,
command,"::tcltest::testConstraint bsd [string match -nocase ""*bsd*"" $tcl_platform(os)]",,,,,,,,,
command,"::tcltest::testConstraint !bsd [expr {![string match -nocase ""*bsd*"" $tcl_platform(os)]}]",,,,,,,,,
,,,,,,,,,,
command,set mc_port 55000,,,,,,,,,
,,,,,,,,,,
command,# UDP Open Test Cases,,,,,,,,,
Open,Too many args,,,udp_open 1 2 3 4 5,,,"wrong # args: should be ""udp_open ?localport? ?ipv6? ?reuse?""",,,1
Open,Invalid port,,,udp_open 66666,,,couldn't open socket: port number too high,,,1
Open,Invalid port range,,,udp_open -2,,,couldn't open socket: port number too low,,,1
Open,Invalid service,,,udp_open bogus,,,"unknown service name ""bogus"" for protocol ""udp""",,,1
Open,Invalid option,,,udp_open 54321 bogus,,,"unknown service name ""bogus"" for protocol ""udp""",,,1
Open,Close Chan,,set ch [udp_open],close $ch;expr {$ch in [chan names]},,,0,,,
Open,Check Existence,,set ch [udp_open],expr {$ch in [chan names]},close $ch,,1,,,
Open,Service Win,win,,set ch [udp_open https],close $ch,glob,*,,,
Open,Service UNIX,unix,,set ch [udp_open https],catch {close $ch},glob,failed to bind socket to port: Permission denied,,,1
Open,Reuse,,,set ch [udp_open 54321 reuse],close $ch,glob,*,,,
Open,IPv4,,,set ch [udp_open 54321 ipv4],close $ch,glob,*,,,
Open,IPv6,,,set ch [udp_open 54321 ipv6],close $ch,glob,*,,,
Open,All,,,set ch [udp_open 54321 ipv6 reuse],close $ch,glob,*,,,
Open,Duplicate Port No Reuse,win,set ch [udp_open],udp_open [chan configure $ch -myport],close $ch,glob,failed to bind socket to port: Only one usage of each socket address (protocol/network address/port) is normally permitted.*,,,1
Open,Duplicate Port No Reuse,unix,set ch [udp_open],udp_open [chan configure $ch -myport],close $ch,glob,failed to bind socket to port: Address already in use,,,1
Open,Duplicate Port With Reuse,win,set ch [udp_open reuse],udp_open [chan configure $ch -myport],close $ch,glob,failed to bind socket to port: Only one usage of each socket address (protocol/network address/port) is normally permitted.*,,,1
Open,Duplicate Port With Reuse,unix,set ch [udp_open reuse],udp_open [chan configure $ch -myport],close $ch,glob,failed to bind socket to port: Address already in use,,,1
,,,,,,,,,,
command,# Chan configure,,,,,,,,,
Chan Config,Too few args,,set ch [udp_open],chan configure,close $ch,glob,"wrong # args: should be ""chan configure channel* ?-option value ...?""",,,1
Chan Config,Too many args,,set ch [udp_open],chan configure $ch -broadcast 1 2,close $ch,glob,"wrong # args: should be ""chan configure channel* ?-option value ...?""",,,1
Chan Config,Get Invalid option,,set ch [udp_open],chan configure $ch -bogus,close $ch,,"bad option ""-bogus"": must be -broadcast, -family, -mcastadd, -mcastdrop, -mcastgroups, -mcastif, -mcastloop, -myport, -peer, -remote, or -ttl",,,1
Chan Config,Set Invalid option,,set ch [udp_open],chan configure $ch -bogus value,close $ch,,"bad option ""-bogus"": must be -broadcast, -family, -mcastadd, -mcastdrop, -mcastgroups, -mcastif, -mcastloop, -myport, -peer, -remote, or -ttl",,,1
Chan Config,Chan Config Get All,tcl9 unix,set ch [udp_open],chan configure $ch,close $ch,glob,"""-blocking 1 -buffering full -buffersize 65535 -encoding * -eofchar * -profile strict -translation * -broadcast 0 -family ipv4 -mcastgroups {} -mcastif * -mcastloop 1 -myport * -peer {} -remote {} -ttl *""",,,
Chan Config,Chan Config Get All,tcl9 win,set ch [udp_open],chan configure $ch,close $ch,glob,"""-blocking 1 -buffering full -buffersize 65535 -encoding * -eofchar * -profile strict -translation * -broadcast 0 -family ipv4 -mcastgroups {} -mcastloop 1 -myport * -peer {} -remote {} -ttl *""",,,
Chan Config,Fconfigure Get All,tcl8 unix,set ch [udp_open],fconfigure $ch,close $ch,glob,"""-blocking 1 -buffering full -buffersize 65535 -encoding * -eofchar * -translation * -broadcast 0 -family ipv4 -mcastgroups {} -mcastif * -mcastloop 1 -myport * -peer {} -remote {} -ttl *""",,,
Chan Config,Fconfigure Get All,tcl8 win,set ch [udp_open],fconfigure $ch,close $ch,glob,"""-blocking 1 -buffering full -buffersize 65535 -encoding * -eofchar * -translation * -broadcast 0 -family ipv4 -mcastgroups {} -mcastloop 1 -myport * -peer {} -remote {} -ttl *""",,,
,,,,,,,,,,
command,# Broadcast,,,,,,,,,
Broadcast,Get broadcast IPv4,,set ch [udp_open [incr ::mc_port]],chan configure $ch -broadcast,close $ch,,0,,,
Broadcast,Get broadcast IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -broadcast,close $ch,,0,,,
Broadcast,Set broadcast IPv4,,set ch [udp_open [incr ::mc_port]],chan configure $ch -broadcast 1;chan configure $ch -broadcast,close $ch,,1,,,
Broadcast,Set broadcast IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -broadcast 1;chan configure $ch -broadcast,close $ch,,1,,,
Broadcast,Invalid value,,set ch [udp_open [incr ::mc_port]],chan configure $ch -broadcast bogus,close $ch,,"expected boolean value but got ""bogus""",,,1
,,,,,,,,,,
command,# Family,,,,,,,,,
Family,Get Family,,set ch [udp_open],chan configure $ch -family,close $ch,,ipv4,,,
Family,Get Family IPv4,,set ch [udp_open ipv4],chan configure $ch -family,close $ch,,ipv4,,,
Family,Get Family IPv6,,set ch [udp_open ipv6],chan configure $ch -family,close $ch,,ipv6,,,
Family,Set Family IPv4,,set ch [udp_open ipv4],chan configure $ch -family ipv6,close $ch,,"get only option ""-family""",,,1
Family,Set Family IPv6,,set ch [udp_open],chan configure $ch -family ipv4,close $ch,,"get only option ""-family""",,,1
,,,,,,,,,,
command,# Multicast Add,,,,,,,,,
Multicast Add,Join None,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastadd,close $ch,,"set only option ""-mcastadd""",,,1
Multicast Add,Join Empty,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastadd {},close $ch,,multicast group and/or local network interface not specified,,,1
Multicast Add,Join Invalid,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastadd bogus,close $ch,,invalid group name,,,1
Multicast Add,Join IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastadd 224.0.0.0;chan configure $ch -mcastgroup,close $ch,,224.0.0.0,,,
Multicast Add,Join IPv6,!mac !bsd,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd ff02::1;chan configure $ch -mcastgroup,close $ch,,ff02::1,,,
Multicast Add,Join IPv6,bsd,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd {ff02::1 em0};chan configure $ch -mcastgroup,close $ch,,{{ff02::1 em0}},,,
Multicast Add,Join IPv6,mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd {ff02::1 en0};chan configure $ch -mcastgroup,close $ch,,{{ff02::1 en0}},,,
Multicast Add,IPv6 address for IPv4 port,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastadd ff02::1,close $ch,,invalid group name,,,1
Multicast Add,IPv4 address for IPv6 port,!mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd 224.0.0.0,close $ch,,invalid group name,,,1
,,,,,,,,,,
command,# Multicast Drop,,,,,,,,,
Multicast Drop,Drop None,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastdrop,close $ch,,"set only option ""-mcastdrop""",,,1
Multicast Drop,Drop Empty,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastdrop {},close $ch,,multicast group and/or local network interface not specified,,,1
Multicast Drop,Drop Invalid,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastdrop bogus,close $ch,,invalid group name,,,1
Multicast Drop,Drop IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastadd 224.0.0.0;chan configure $ch -mcastdrop 224.0.0.0;chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Drop,Drop IPv6,!mac !bsd,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd ff02::1;chan configure $ch -mcastdrop ff02::1;chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Drop,Drop IPv6,bsd,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd {ff02::1 em0};chan configure $ch -mcastdrop {ff02::1 em0};chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Drop,Drop IPv6,mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastadd {ff02::1 en0};chan configure $ch -mcastdrop {ff02::1 en0};chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Drop,IPv6 address for IPv4 port,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastdrop ff02::1,close $ch,,invalid group name,,,1
Multicast Drop,IPv4 address for IPv6 port,!mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastdrop 224.0.0.0,close $ch,,invalid group name,,,1
,,,,,,,,,,
command,# Multicast Group,,,,,,,,,
Multicast Group,Get IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Group,Get IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastgroup,close $ch,,,,,
Multicast Group,Set IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastgroup 224.0.0.0,close $ch,,"get only option ""-mcastgroup""",,,1
Multicast Group,Set IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastgroup ff02::1,close $ch,,"get only option ""-mcastgroup""",,,1
,,,,,,,,,,
command,# Multicast Interface,,,,,,,,,
Multicast IF,Get IPv4,unix,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastif,close $ch,,0.0.0.0,,,
Multicast IF,Get IPv6,unix,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastif,close $ch,,0,,,
Multicast IF,Set IPv4,unix,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastif 0.0.0.0;chan configure $ch -mcastif,close $ch,,0.0.0.0,,,
Multicast IF,Set IPv6,unix !mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastif ::1;chan configure $ch -mcastif,close $ch,,,,,
Multicast IF,Set IPv6,mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastif en0;chan configure $ch -mcastif,close $ch,glob,*,,,
Multicast IF,Reset IPv4,unix,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastif 0,close $ch,,,,,
Multicast IF,Reset IPv6,unix !mac,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastif 0,close $ch,,,,,
Multicast IF,Invalid value,unix tcl8,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastif bogus,close $ch,glob,"invalid IPv4 address ""bogus""",,,1
Multicast IF,Invalid value,unix tcl9,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastif bogus,close $ch,glob,"invalid IPv4 address ""bogus""",,,1
Multicast IF,IPv6 address for IPv4 port,unix,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastif ::1;chan configure $ch -mcastif,close $ch,glob,"invalid IPv4 address ""::1""",,,1
Multicast IF,IPv4 address for IPv6 port,unix,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastif 224.0.0.0,close $ch,glob,"invalid IPv6 address ""224.0.0.0""",,,1
,,,,,,,,,,
command,# Multicast Loop,,,,,,,,,
Multicast Loop,Get Multicast Loop IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastloop,close $ch,,1,,,
Multicast Loop,Get Multicast Loop IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastloop,close $ch,,1,,,
Multicast Loop,Set Multicast Loop IPv4,,set ch [udp_open [incr ::mc_port] ipv4],chan configure $ch -mcastloop 0,close $ch,,0,,,
Multicast Loop,Set Multicast Loop IPv6,,set ch [udp_open [incr ::mc_port] ipv6],chan configure $ch -mcastloop 0,close $ch,,0,,,
Multicast Loop,Invalid value,,set ch [udp_open [incr ::mc_port]],chan configure $ch -mcastloop bogus,close $ch,,"expected boolean value but got ""bogus""",,,1
,,,,,,,,,,
command,# My Port,,,,,,,,,
My Port,Get My Port,,set ch [udp_open],chan configure $ch -myport,close $ch,glob,*,,,
My Port,Get My Port IPv4,,set ch [udp_open ipv4],chan configure $ch -myport,close $ch,glob,*,,,
My Port,Get My Port IPv6,,set ch [udp_open ipv6],chan configure $ch -myport,close $ch,glob,*,,,
My Port,Set My Port,,set ch [udp_open],chan configure $ch -myport 1234,close $ch,,"get only option ""-myport""",,,1
My Port,Set My Port IPv4,,set ch [udp_open],chan configure $ch -myport 9002,close $ch,,"get only option ""-myport""",,,1
My Port,Set My Port IPv6,,set ch [udp_open],chan configure $ch -myport 9002,close $ch,,"get only option ""-myport""",,,1
,,,,,,,,,,
command,# Peer,,,,,,,,,
Peer,Get Peer IPv4,,set ch [udp_open ipv4],chan configure $ch -peer,close $ch,,,,,
Peer,Get Peer IPv6,,set ch [udp_open ipv6],chan configure $ch -peer,close $ch,,,,,
Peer,Set Peer IPv4,,set ch [udp_open ipv4],chan configure $ch -peer bogus,close $ch,,"get only option ""-peer""",,,1
Peer,Set Peer IPv6,,set ch [udp_open ipv6],chan configure $ch -peer bogus,close $ch,,"get only option ""-peer""",,,1
,,,,,,,,,,
command,# Port,,,,,,,,,
Port,Use Default,,,set ch [udp_open];expr {[chan configure $ch -myport] > 0},close $ch,,1,,,
Port,Set Default Port,,,set ch [udp_open 0];expr {[chan configure $ch -myport] > 0},close $ch,,1,,,
Port,Set Port,,,set ch [udp_open 5000];chan configure $ch -myport,close $ch,,5000,,,
Port,Set IPv4 Port Number,,,set ch [udp_open 5001 ipv4];chan configure $ch -myport,close $ch,,5001,,,
Port,Set IPv6 Port Number,,,set ch [udp_open 5002 ipv6];chan configure $ch -myport,close $ch,,5002,,,
Port,Set IPv4 Service Name,win,,set ch [udp_open https ipv4];chan configure $ch -myport,close $ch,,443,,,
Port,Set IPv6 Service Name,win,,set ch [udp_open https ipv6];chan configure $ch -myport,close $ch,,443,,,
Port,Set IPv4 Service Name,unix,,set ch [udp_open https ipv4];chan configure $ch -myport,,,failed to bind socket to port: Permission denied,,,1
Port,Set IPv6 Service Name,unix,,set ch [udp_open https ipv6];chan configure $ch -myport,,,failed to bind socket to port: Permission denied,,,1
Port,Invalid Port IPv4,,,udp_open -200 ipv4,,,couldn't open socket: port number too low,,,1
Port,Invalid Port IPv6,,,udp_open -300 ipv6,,,couldn't open socket: port number too low,,,1
Port,Out of Range Port IPv4,,,udp_open 80000 ipv4,,,couldn't open socket: port number too high,,,1
Port,Out of Range Port IPv6,,,udp_open 70000 ipv6,,,couldn't open socket: port number too high,,,1
Port,Invalid Service Name IPv4,,,udp_open bogus ipv4,,,"unknown service name ""bogus"" for protocol ""udp""",,,1
Port,Invalid Service Name IPv6,,,udp_open bogus ipv6,,,"unknown service name ""bogus"" for protocol ""udp""",,,1
,,,,,,,,,,
command,# Remote,,,,,,,,,
Remote,Get Remote IPv4,,set ch [udp_open ipv4],chan configure $ch -remote,close $ch,,,,,
Remote,Get Remote IPv6,,set ch [udp_open ipv6],chan configure $ch -remote,close $ch,,,,,
Remote,Set Remote IPv4,,set ch [udp_open ipv4],chan configure $ch -remote [list  google.com 80],close $ch,,google.com 80,,,
Remote,Set Remote IPv6,,set ch [udp_open ipv6],chan configure $ch -remote [list google.com 80],close $ch,,google.com 80,,,
Remote,Set Remote Default Port IPv4,,set ch [udp_open ipv4],chan configure $ch -remote [list  google.com],close $ch,,google.com,,,
Remote,Set Remote Default Port IPv6,,set ch [udp_open ipv6],chan configure $ch -remote [list google.com],close $ch,,google.com,,,
Remote,No values,,set ch [udp_open],chan configure $ch -remote [list],close $ch,,"wrong # args: should be ""?hostname? ?port?""",,,1
Remote,Too many values,,set ch [udp_open],chan configure $ch -remote [list bogus value value],close $ch,,"wrong # args: should be ""?hostname? ?port?""",,,1
Remote,Invalid value,,set ch [udp_open],chan configure $ch -remote [list 1.1.1.1 value],close $ch,,"unknown service name ""value"" for protocol ""udp""",,,1
Remote,Invalid IPv4 address,knownBug,set ch [udp_open ipv4],chan configure $ch -remote [list 500.0.0.0 80],close $ch,,couldn't open socket: invalid address,,,1
Remote,Invalid IPv6 address,knownBug,set ch [udp_open ipv6],chan configure $ch -remote [list 500.0.0.0 80],close $ch,,couldn't open socket: invalid address,,,1
Remote,Negative port,,set ch [udp_open],chan configure $ch -remote [list 192.168.1.1 -80],close $ch,,port number out of range,,,1
Remote,Out of range port,,set ch [udp_open],chan configure $ch -remote [list 192.168.1.1 100000],close $ch,,port number out of range,,,1
,,,,,,,,,,
command,# TTL,,,,,,,,,
TTL,Get IPv4 win7,win7,set ch [udp_open ipv4],chan configure $ch -ttl,close $ch,,64,,,
TTL,Get IPv4 win10,win10,set ch [udp_open ipv4],chan configure $ch -ttl,close $ch,,128,,,
TTL,Get IPv4 unix,unix,set ch [udp_open ipv4],chan configure $ch -ttl,close $ch,,64,,,
TTL,Get IPv6 win,win,set ch [udp_open ipv6],chan configure $ch -ttl,close $ch,,128,,,
TTL,Get IPv6 unix,unix !mac,set ch [udp_open ipv6],chan configure $ch -ttl,close $ch,,64,,,
TTL,Get IPv6 unix,mac,set ch [udp_open ipv6],chan configure $ch -ttl,close $ch,,-1,,,
TTL,Set default value,,set ch [udp_open],chan configure $ch -ttl -1;chan configure $ch -ttl,close $ch,glob,*,,,
TTL,Set IPv4,,set ch [udp_open ipv4],chan configure $ch -ttl 72;chan configure $ch -ttl,close $ch,,72,,,
TTL,Set IPv6,,set ch [udp_open ipv6],chan configure $ch -ttl 84;chan configure $ch -ttl,close $ch,,84,,,
TTL,Invalid value,,set ch [udp_open],chan configure $ch -ttl bogus,close $ch,,"expected integer but got ""bogus""",,,1
TTL,Out of range value IPv4,!mac !bsd,set ch [udp_open],chan configure $ch -ttl 257,close $ch,glob,error setting -ttl: *[Ii]nvalid argument*,,,1
TTL,Out of range value IPv6,,set ch [udp_open ipv6],chan configure $ch -ttl 257,close $ch,glob,error setting -ttl: *[Ii]nvalid argument*,,,1
command,# Add multicast versions of above,,,,,,,,,
,,,,,,,,,,
command,# Other commands,,,,,,,,,
,,,,,,,,,,
command,# UDP Configure - Obsolete,,,,,,,,,
UDP_Conf,Too few args,,set ch [udp_open],udp_conf,close $ch,,"wrong # args: should be ""udp_conf chanId [host port]|[-myport|-remote ""host port""|-peer|-family|-mcastadd ""groupaddr ?netwif?""|-mcastdrop ""groupaddr ?netwif?""|-mcastgroups|-mcastloop ?boolean?|-broadcast ?boolean?|-ttl ?count?]""",,,1
UDP_Conf,Too many args,,set ch [udp_open],udp_conf $ch 1 2 3 4 5 6 7 8 9 10 11,close $ch,,"wrong # args: should be ""udp_conf chanId [host port]|[-myport|-remote ""host port""|-peer|-family|-mcastadd ""groupaddr ?netwif?""|-mcastdrop ""groupaddr ?netwif?""|-mcastgroups|-mcastloop ?boolean?|-broadcast ?boolean?|-ttl ?count?]""",,,1
UDP_Conf,Invalid chan,,set ch [udp_open],udp_conf bogus opt,close $ch,,"can not find channel named ""bogus""",,,1
UDP_Conf,Invalid arg,,set ch [udp_open],udp_conf $ch -bogus,close $ch,,"bad option ""-bogus"": must be -broadcast, -family, -mcastadd, -mcastdrop, -mcastgroups, -mcastif, -mcastloop, -myport, -peer, -remote, or -ttl",,,1
UDP_Conf,Get option,,set ch [udp_open],udp_conf $ch -family,close $ch,,ipv4,,,
UDP_Conf,Set read-only option,,set ch [udp_open],udp_conf $ch -family ipv6,close $ch,,"Read-only option ""-family""",,,1
UDP_Conf,Set option,,set ch [udp_open],udp_conf $ch -ttl 1,close $ch,,1,,,
UDP_Conf,Set no value,,set ch [udp_open],udp_conf $ch -ttl 1 -ttl,close $ch,,"No value for option ""-ttl""",,,1
,,,,,,,,,,
command,# UDP Peek,,,,,,,,,
UDP_Peek,Too few args,unix,set ch [udp_open],udp_peek,close $ch,,"wrong # args: should be ""udp_peek sock ?buffersize?""",,,1
UDP_Peek,Too many args,unix,set ch [udp_open],udp_peek 1 2 3,close $ch,,"wrong # args: should be ""udp_peek sock ?buffersize?""",,,1
UDP_Peek,Invalid chan,unix,set ch [udp_open],udp_peek bogus,close $ch,,"can not find channel named ""bogus""",,,1
UDP_Peek,Invalid buffer size,unix,set ch [udp_open],udp_peek $ch bogus,close $ch,,"expected integer but got ""bogus""",,,1
command,# add more,,,,,,,,,
,,,,,,,,,,
command,# ::udp::getaddrinfo,,,,,,,,,
GetAddrInfo,Too few args,,,::udp::getaddrinfo,,,"wrong # args: should be ""::udp::getaddrinfo ?-hostname name? ?-port|-service id? ?-ipv4|-ipv6? ?-server? ?-tcp|-udp?""",,,1
GetAddrInfo,Too many args,,,::udp::getaddrinfo,,,"wrong # args: should be ""::udp::getaddrinfo ?-hostname name? ?-port|-service id? ?-ipv4|-ipv6? ?-server? ?-tcp|-udp?""",,,1
GetAddrInfo,Invalid arg,,,::udp::getaddrinfo -bogus value,,,"bad option ""-bogus"": must be -hostname, -ipv4, -ipv6, -port, -server, -service, -tcp, or -udp",,,1
GetAddrInfo,Hostname,,,::udp::getaddrinfo -hostname google.com,,glob,*,,,
GetAddrInfo,Hostname No Value,,,::udp::getaddrinfo -hostname,,,No hostname,,,1
GetAddrInfo,IPv4,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -ipv4] 0] 1,,,ipv4,,,
GetAddrInfo,IPv6,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -ipv6] 0] 1,,,ipv6,,,
GetAddrInfo,Port,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -port 80] 0] 5,,,80,,,
GetAddrInfo,Service,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -service https] 0] 5,,,443,,,
GetAddrInfo,Port no value,,,::udp::getaddrinfo -hostname google.com -port,,,No port/service,,,1
GetAddrInfo,Service no value,,,::udp::getaddrinfo -hostname google.com -service,,,No port/service,,,1
GetAddrInfo,Server,,,::udp::getaddrinfo -hostname google.com -server,,glob,*,,,
GetAddrInfo,TCP,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -tcp] 0] 7,,,tcp,,,
GetAddrInfo,UDP,,,lindex [lindex [::udp::getaddrinfo -hostname google.com -udp] 0] 7,,,udp,,,
,,,,,,,,,,
command,# ::udp::getnameinfo,,,,,,,,,
GetNameInfo,Too few args,,, ::udp::getnameinfo,,,"wrong # args: should be ""::udp::getnameinfo address ?ipv6?""",,,1
GetNameInfo,Too many args,,, ::udp::getnameinfo arg1 arg2 arg3,,,"wrong # args: should be ""::udp::getnameinfo address ?ipv6?""",,,1
GetNameInfo,Invalid IPv4 address,,, ::udp::getnameinfo 500.0.0.1,,,Invalid IPv4 address 500.0.0.1,,,1
GetNameInfo,Invalid IPv6 address,,, ::udp::getnameinfo 1234:ghij::0,,,Invalid IPv6 address 1234:ghij::0,,,1
GetNameInfo,Bad address,,, ::udp::getnameinfo 500.0.0.0,,,Invalid IPv4 address 500.0.0.0,,,1
GetNameInfo,Localhost IPv4,win,,string tolower [ ::udp::getnameinfo 127.0.0.1],,,[info hostname],,,
GetNameInfo,Localhost IPv6,win,,string tolower [ ::udp::getnameinfo ::1 ipv6],,,[info hostname],,,
GetNameInfo,Localhost IPv6 Autodetect,win,,string tolower [ ::udp::getnameinfo ::1],,,[info hostname],,,
GetNameInfo,Localhost IPv4,unix,,string tolower [ ::udp::getnameinfo 127.0.0.1],,,localhost,,,
GetNameInfo,Localhost IPv6,unix,,string tolower [ ::udp::getnameinfo ::1 ipv6],,,localhost,,,
GetNameInfo,Localhost IPv6 Autodetect,unix,,string tolower [ ::udp::getnameinfo ::1],,,localhost,,,
,,,,,,,,,,
command,# ::udp::build-info,,,,,,,,,
Build Info,Get Info,tcl9,,::udp::build-info,,glob,*,,,
