summary refs log tree commit diff stats
path: root/tests/stdlib/tnet.nim
diff options
context:
space:
mode:
authorYuriy Glukhov <yuriy.glukhov@gmail.com>2018-06-07 21:10:00 +0300
committerYuriy Glukhov <yuriy.glukhov@gmail.com>2018-06-07 21:10:00 +0300
commitb2323de9140dfa3a1cbe007274970457bb1ecc76 (patch)
treee3bf9477e2d4218702f527392e552a9eba9dcf70 /tests/stdlib/tnet.nim
parent12f929e5822beeab2e1d60af9b4ef53d8339e11e (diff)
downloadNim-b2323de9140dfa3a1cbe007274970457bb1ecc76.tar.gz
Fixed compilation error when Sockaddr_in4 or Sockaddr_in6 passed to fromSockAddr
Diffstat (limited to 'tests/stdlib/tnet.nim')
-rw-r--r--tests/stdlib/tnet.nim12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/stdlib/tnet.nim b/tests/stdlib/tnet.nim
index 64d690fc9..d364447da 100644
--- a/tests/stdlib/tnet.nim
+++ b/tests/stdlib/tnet.nim
@@ -66,6 +66,18 @@ block: # "IpAddress/Sockaddr conversion"
     doAssert(ipaddr_1 == ipaddr_2)
     doAssert($ipaddr_1 == $ipaddr_2)
 
+    if sockaddr.ss_family == AF_INET.toInt:
+      var sockaddr4: Sockaddr_in
+      copyMem(addr sockaddr4, addr sockaddr, sizeof(sockaddr4))
+      fromSockAddr(sockaddr4, socklen, ipaddr_2, port_2)
+    elif sockaddr.ss_family == AF_INET6.toInt:
+      var sockaddr6: Sockaddr_in6
+      copyMem(addr sockaddr6, addr sockaddr, sizeof(sockaddr6))
+      fromSockAddr(sockaddr6, socklen, ipaddr_2, port_2)
+
+    doAssert(ipaddr_1 == ipaddr_2)
+    doAssert($ipaddr_1 == $ipaddr_2)
+
 
   # ipv6 address of example.com
   test("2606:2800:220:1:248:1893:25c8:1946")