summary refs log tree commit diff stats
path: root/tests
diff options
context:
space:
mode:
authorAndreas Rumpf <rumpf_a@web.de>2016-01-28 19:34:51 +0100
committerAndreas Rumpf <rumpf_a@web.de>2016-01-28 19:34:51 +0100
commitf340f7634ab298bd5d7c639b2bcf2ac7076cfcc3 (patch)
treebd649406b04fc9c95b4a07ba9498a66fc799f6b3 /tests
parent611c74f2d438c008836551aca641f2058a26ae8e (diff)
parent477e3b0e20b224c73e74e8006f8c7148e930e57b (diff)
downloadNim-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.nim39
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"