diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-01-28 19:34:51 +0100 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2016-01-28 19:34:51 +0100 |
commit | f340f7634ab298bd5d7c639b2bcf2ac7076cfcc3 (patch) | |
tree | bd649406b04fc9c95b4a07ba9498a66fc799f6b3 /tests | |
parent | 611c74f2d438c008836551aca641f2058a26ae8e (diff) | |
parent | 477e3b0e20b224c73e74e8006f8c7148e930e57b (diff) | |
download | Nim-f340f7634ab298bd5d7c639b2bcf2ac7076cfcc3.tar.gz |
Merge pull request #3787 from vegansk/fix_3539_3
Fixed issue #3539 - could not import inet_ntop on XP/2003 - 3rd try
Diffstat (limited to 'tests')
-rw-r--r-- | tests/stdlib/tnet_ll.nim | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/stdlib/tnet_ll.nim b/tests/stdlib/tnet_ll.nim new file mode 100644 index 000000000..4d4df7c13 --- /dev/null +++ b/tests/stdlib/tnet_ll.nim @@ -0,0 +1,39 @@ +discard """ + action: run +""" + +when defined(windows): + import winlean +elif defined(posix): + import posix +else: + {.error: "Unsupported OS".} + +import unittest, strutils + +suite "inet_ntop tests": + + setup: + when defined(windows): + var wsa: WSAData + discard wsaStartup(0x101'i16, wsa.addr) + + test "IP V4": + var ip4 = 0x10111213 + var buff: array[0..255, char] + let r = inet_ntop(AF_INET, ip4.addr, buff[0].addr, buff.sizeof.int32) + let res = if r == nil: "" else: $r + check: res == "19.18.17.16" + + + test "IP V6": + when defined(windows): + let ipv6Support = (getVersion() and 0xff) > 0x5 + else: + let ipv6Support = true + + var ip6 = [0x1000'u16, 0x1001, 0x2000, 0x2001, 0x3000, 0x3001, 0x4000, 0x4001] + var buff: array[0..255, char] + let r = inet_ntop(AF_INET6, ip6[0].addr, buff[0].addr, buff.sizeof.int32) + let res = if r == nil: "" else: $r + check: not ipv6Support or res == "10:110:20:120:30:130:40:140" |