summaryrefslogtreecommitdiffstats
path: root/tests/014/str-addr.tl
diff options
context:
space:
mode:
Diffstat (limited to 'tests/014/str-addr.tl')
-rw-r--r--tests/014/str-addr.tl68
1 files changed, 68 insertions, 0 deletions
diff --git a/tests/014/str-addr.tl b/tests/014/str-addr.tl
new file mode 100644
index 00000000..49bc844a
--- /dev/null
+++ b/tests/014/str-addr.tl
@@ -0,0 +1,68 @@
+(load "../common.tl")
+
+(mtest
+ #S(sockaddr-un path "/foo").(str-addr) "/foo"
+ #S(sockaddr-un path nil).(str-addr) :error)
+
+(mtest
+ #S(sockaddr-in addr 0).(str-addr) "0.0.0.0"
+ #S(sockaddr-in addr #x01020304).(str-addr) "1.2.3.4"
+ #S(sockaddr-in addr #x01020304 prefix 8).(str-addr) "1.2.3.4/8"
+ #S(sockaddr-in addr #x01020304 prefix 16).(str-addr) "1.2.3.4/16"
+ #S(sockaddr-in addr #x01020304 prefix 24).(str-addr) "1.2.3.4/24"
+ #S(sockaddr-in addr #x01020304 prefix 31).(str-addr) "1.2.3.4/31"
+ #S(sockaddr-in addr #x01020304 prefix 32).(str-addr) "1.2.3.4"
+ #S(sockaddr-in addr #x01000000 prefix 8).(str-addr) "1/8"
+ #S(sockaddr-in addr #x01000000 prefix 16).(str-addr) "1/16"
+ #S(sockaddr-in addr #x01020000 prefix 16).(str-addr) "1.2/16"
+ #S(sockaddr-in addr #x01000000 prefix 24).(str-addr) "1/24"
+ #S(sockaddr-in addr #x01020000 prefix 24).(str-addr) "1.2/24"
+ #S(sockaddr-in addr #x01020300 prefix 24).(str-addr) "1.2.3/24"
+ #S(sockaddr-in addr #x01000000 prefix 31).(str-addr) "1/31"
+ #S(sockaddr-in addr 0 port 123).(str-addr) "0.0.0.0:123"
+ #S(sockaddr-in addr #x01020304 port 123).(str-addr) "1.2.3.4:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 8).(str-addr) "1.2.3.4/8:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 16).(str-addr) "1.2.3.4/16:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 24).(str-addr) "1.2.3.4/24:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 24).(str-addr) "1.2.3.4/24:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 31).(str-addr) "1.2.3.4/31:123"
+ #S(sockaddr-in addr #x01020304 port 123 prefix 32).(str-addr) "1.2.3.4:123"
+ #S(sockaddr-in addr #x01000000 port 123 prefix 8).(str-addr) "1/8:123"
+ #S(sockaddr-in addr #x01000000 port 123 prefix 16).(str-addr) "1/16:123"
+ #S(sockaddr-in addr #x01020000 port 123 prefix 16).(str-addr) "1.2/16:123"
+ #S(sockaddr-in addr #x01000000 port 123 prefix 24).(str-addr) "1/24:123"
+ #S(sockaddr-in addr #x01020000 port 123 prefix 24).(str-addr) "1.2/24:123"
+ #S(sockaddr-in addr #x01020300 port 123 prefix 24).(str-addr) "1.2.3/24:123"
+ #S(sockaddr-in addr #x01000000 port 123 prefix 31).(str-addr) "1/31:123")
+
+(mtest
+ #S(sockaddr-in6 addr 0).(str-addr) "::"
+ #S(sockaddr-in6 addr #x80000000000000000000000000000001).(str-addr) "8000::1"
+ #S(sockaddr-in6 addr #x00000000000000000000000000000001).(str-addr) "::1"
+ #S(sockaddr-in6 addr #x80000000000000000000000000000000).(str-addr) "8000::"
+ #S(sockaddr-in6 addr #x00008000000000000000000000000001).(str-addr) "0:8000::1"
+ #S(sockaddr-in6 addr #x00000000000000000000000000010000).(str-addr) "::1:0"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000).(str-addr) "0:8000::1:0"
+ #S(sockaddr-in6 addr #x000000000000abcd0000000000000000).(str-addr) "0:0:0:abcd::"
+ #S(sockaddr-in6 addr #x0000000000000000abcd000000000000).(str-addr) "::abcd:0:0:0"
+ #S(sockaddr-in6 addr #x11112222333344445555666677778888).(str-addr) "1111:2222:3333:4444:5555:6666:7777:8888"
+ #S(sockaddr-in6 addr #x01000200030004000500060007000800).(str-addr) "100:200:300:400:500:600:700:800"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000 port 0).(str-addr) "0:8000::1:0"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000 port 123).(str-addr) "[0:8000::1:0]:123"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000 prefix 128).(str-addr) "0:8000::1:0"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000 prefix 127).(str-addr) "0:8000::1:0/127"
+ #S(sockaddr-in6 addr #x00008000000000000000000000010000 port 123 prefix 127).(str-addr) "[0:8000::1:0/127]:123")
+
+(mtest
+ #S(sockaddr-in6 addr #xffff00000000).(str-addr) "::ffff:0.0.0.0"
+ #S(sockaddr-in6 addr #xffff00000000 prefix 24).(str-addr) "::ffff:0/24"
+ #S(sockaddr-in6 addr #xffff01000000 prefix 24).(str-addr) "::ffff:1/24"
+ #S(sockaddr-in6 addr #xffff01020000 prefix 24).(str-addr) "::ffff:1.2/24"
+ #S(sockaddr-in6 addr #xffff01020300 prefix 24).(str-addr) "::ffff:1.2.3/24"
+ #S(sockaddr-in6 addr #xffff01020304 prefix 24).(str-addr) "::ffff:1.2.3.4/24"
+ #S(sockaddr-in6 addr #xffff00000000 port 123 ).(str-addr) "[::ffff:0.0.0.0]:123"
+ #S(sockaddr-in6 addr #xffff00000000 port 123 prefix 24).(str-addr) "[::ffff:0/24]:123"
+ #S(sockaddr-in6 addr #xffff01000000 port 123 prefix 24).(str-addr) "[::ffff:1/24]:123"
+ #S(sockaddr-in6 addr #xffff01020000 port 123 prefix 24).(str-addr) "[::ffff:1.2/24]:123"
+ #S(sockaddr-in6 addr #xffff01020300 port 123 prefix 24).(str-addr) "[::ffff:1.2.3/24]:123"
+ #S(sockaddr-in6 addr #xffff01020304 port 123 prefix 24).(str-addr) "[::ffff:1.2.3.4/24]:123")