summary refs log tree commit diff stats
path: root/tests/stdlib/tgetaddrinfo.nim
diff options
context:
space:
mode:
Diffstat (limited to 'tests/stdlib/tgetaddrinfo.nim')
-rw-r--r--tests/stdlib/tgetaddrinfo.nim10
1 files changed, 6 insertions, 4 deletions
diff --git a/tests/stdlib/tgetaddrinfo.nim b/tests/stdlib/tgetaddrinfo.nim
index 39102e131..3a90034c8 100644
--- a/tests/stdlib/tgetaddrinfo.nim
+++ b/tests/stdlib/tgetaddrinfo.nim
@@ -1,4 +1,5 @@
 discard """
+  matrix: "--mm:refc; --mm:orc"
   exitcode: 0
   output: ""
 """
@@ -6,23 +7,24 @@ discard """
 # bug: https://github.com/nim-lang/Nim/issues/10198
 
 import nativesockets
+import std/assertions
 
 block DGRAM_UDP:
   let aiList = getAddrInfo("127.0.0.1", 999.Port, AF_INET, SOCK_DGRAM, IPPROTO_UDP)
   doAssert aiList != nil
   doAssert aiList.ai_addr != nil
-  doAssert aiList.ai_addrlen == 16
+  doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in).SockLen
   doAssert aiList.ai_next == nil
   freeAddrInfo aiList
 
-when defined(posix):
+when defined(posix) and not defined(haiku) and not defined(freebsd) and not defined(openbsd) and not defined(netbsd):
 
   block RAW_ICMP:
     # the port will be ignored
     let aiList = getAddrInfo("127.0.0.1", 999.Port, AF_INET, SOCK_RAW, IPPROTO_ICMP)
     doAssert aiList != nil
     doAssert aiList.ai_addr != nil
-    doAssert aiList.ai_addrlen == 16
+    doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in).SockLen
     doAssert aiList.ai_next == nil
     freeAddrInfo aiList
 
@@ -31,6 +33,6 @@ when defined(posix):
     let aiList = getAddrInfo("::1", 999.Port, AF_INET6, SOCK_RAW, IPPROTO_ICMPV6)
     doAssert aiList != nil
     doAssert aiList.ai_addr != nil
-    doAssert aiList.ai_addrlen == 28
+    doAssert aiList.ai_addrlen.SockLen == sizeof(Sockaddr_in6).SockLen
     doAssert aiList.ai_next == nil
     freeAddrInfo aiList