aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/tcp.c6
-rw-r--r--tests/tcpsupp.c47
2 files changed, 45 insertions, 8 deletions
diff --git a/tests/tcp.c b/tests/tcp.c
index 53372fa5..8975da33 100644
--- a/tests/tcp.c
+++ b/tests/tcp.c
@@ -1,6 +1,7 @@
//
// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
+// Copyright 2018 Devolutions <info@devolutions.net>
//
// This software is supplied under the terms of the MIT License, a
// copy of which should be located in the distribution where this
@@ -93,6 +94,7 @@ TestMain("TCP Transport", {
Convey("We can bind to port zero", {
nng_socket s1;
nng_socket s2;
+ nng_sockaddr sa;
nng_listener l;
char * addr;
@@ -105,6 +107,10 @@ TestMain("TCP Transport", {
So(nng_listen(s1, "tcp://127.0.0.1:0", &l, 0) == 0);
So(nng_listener_getopt_string(l, NNG_OPT_URL, &addr) == 0);
So(memcmp(addr, "tcp://", 6) == 0);
+ So(nng_listener_getopt_sockaddr(l, NNG_OPT_LOCADDR, &sa) == 0);
+ So(sa.s_in.sa_family == NNG_AF_INET);
+ So(sa.s_in.sa_port != 0);
+ So(sa.s_in.sa_addr = htonl(0x7f000001));
So(nng_dial(s2, addr, NULL, 0) == 0);
nng_strfree(addr);
});
diff --git a/tests/tcpsupp.c b/tests/tcpsupp.c
index 93c0ca9b..ede6a76f 100644
--- a/tests/tcpsupp.c
+++ b/tests/tcpsupp.c
@@ -90,6 +90,8 @@ TestMain("Supplemental TCP", {
nng_sockaddr sa2;
char buf1[5];
char buf2[5];
+ bool on;
+ size_t sz;
So(nng_aio_alloc(&aio1, NULL, NULL) ==
0);
@@ -101,11 +103,34 @@ TestMain("Supplemental TCP", {
nng_aio_free(aio2);
});
- So(nng_tcp_set_nodelay(c1, true) == 0);
- So(nng_tcp_set_nodelay(c2, true) == 0);
+ on = true;
+ So(nng_tcp_setopt(c1,
+ NNG_OPT_TCP_NODELAY, &on,
+ sizeof(on)) == 0);
+ So(nng_tcp_setopt(c2,
+ NNG_OPT_TCP_NODELAY, &on,
+ sizeof(on)) == 0);
+
+ So(nng_tcp_setopt(c1,
+ NNG_OPT_TCP_KEEPALIVE, &on,
+ sizeof(on)) == 0);
+
+ on = false;
+ sz = sizeof(on);
+ So(nng_tcp_getopt(c1,
+ NNG_OPT_TCP_NODELAY, &on,
+ &sz) == 0);
+ So(sz == sizeof(on));
+ So(on == true);
+
+ on = false;
+ sz = sizeof(on);
+ So(nng_tcp_getopt(c1,
+ NNG_OPT_TCP_KEEPALIVE, &on,
+ &sz) == 0);
+ So(sz == sizeof(on));
+ So(on == true);
- So(nng_tcp_set_keepalive(c1, true) ==
- 0);
// This relies on send completing for
// for just 5 bytes, and on recv doing
// the same. Technically this isn't
@@ -135,8 +160,11 @@ TestMain("Supplemental TCP", {
So(memcmp(buf1, buf2, 5) == 0);
Convey("Socket name matches", {
- So(nng_tcp_sockname(
- c2, &sa2) == 0);
+ sz = sizeof(sa2);
+ So(nng_tcp_getopt(c2,
+ NNG_OPT_LOCADDR, &sa2,
+ &sz) == 0);
+ So(sz == sizeof(sa2));
So(sa2.s_in.sa_family ==
NNG_AF_INET);
So(sa2.s_in.sa_addr == ip);
@@ -145,8 +173,11 @@ TestMain("Supplemental TCP", {
});
Convey("Peer name matches", {
- So(nng_tcp_peername(
- c1, &sa2) == 0);
+ sz = sizeof(sa2);
+ So(nng_tcp_getopt(c1,
+ NNG_OPT_REMADDR, &sa2,
+ &sz) == 0);
+ So(sz == sizeof(sa2));
So(sa2.s_in.sa_family ==
NNG_AF_INET);
So(sa2.s_in.sa_addr == ip);