aboutsummaryrefslogtreecommitdiff
path: root/tests/tcp.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-03-20 18:38:54 -0700
committerGarrett D'Amore <garrett@damore.org>2018-03-20 18:42:23 -0700
commit6df40cb6eea9a4220d61c4c927ce5a857a12a338 (patch)
treeac4b7ecbcb41a456eb4d0429fc180047656371ba /tests/tcp.c
parent9ca901c1b70b17d851426483d9f54611cfa8e395 (diff)
downloadnng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.tar.gz
nng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.tar.bz2
nng-6df40cb6eea9a4220d61c4c927ce5a857a12a338.zip
fixes #301 String option handling for getopt
Diffstat (limited to 'tests/tcp.c')
-rw-r--r--tests/tcp.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/tests/tcp.c b/tests/tcp.c
index 10d777da..58b4f15c 100644
--- a/tests/tcp.c
+++ b/tests/tcp.c
@@ -30,14 +30,13 @@ check_props_v4(nng_msg *msg)
p = nng_msg_get_pipe(msg);
So(p > 0);
- z = sizeof(nng_sockaddr);
- So(nng_pipe_getopt(p, NNG_OPT_LOCADDR, &la, &z) == 0);
- So(z == sizeof(la));
+ So(nng_pipe_getopt_sockaddr(p, NNG_OPT_LOCADDR, &la) == 0);
So(la.s_family == NNG_AF_INET);
So(la.s_in.sa_port == htons(trantest_port - 1));
So(la.s_in.sa_port != 0);
So(la.s_in.sa_addr == htonl(0x7f000001));
+ // untyped
z = sizeof(nng_sockaddr);
So(nng_pipe_getopt(p, NNG_OPT_REMADDR, &ra, &z) == 0);
So(z == sizeof(ra));
@@ -45,6 +44,10 @@ check_props_v4(nng_msg *msg)
So(ra.s_in.sa_port != 0);
So(ra.s_in.sa_addr == htonl(0x7f000001));
+ So(nng_pipe_getopt_size(p, NNG_OPT_REMADDR, &z) == NNG_EBADTYPE);
+ z = 1;
+ So(nng_pipe_getopt(p, NNG_OPT_REMADDR, &ra, &z) == NNG_EINVAL);
+
return (0);
}
@@ -84,8 +87,7 @@ TestMain("TCP Transport", {
nng_socket s1;
nng_socket s2;
nng_listener l;
- char addr[NNG_MAXADDRLEN];
- size_t sz;
+ char * addr;
So(nng_pair_open(&s1) == 0);
So(nng_pair_open(&s2) == 0);
@@ -94,9 +96,10 @@ TestMain("TCP Transport", {
nng_close(s1);
});
So(nng_listen(s1, "tcp://127.0.0.1:0", &l, 0) == 0);
- sz = NNG_MAXADDRLEN;
- So(nng_listener_getopt(l, NNG_OPT_URL, addr, &sz) == 0);
+ So(nng_listener_getopt_string(l, NNG_OPT_URL, &addr) == 0);
+ So(memcmp(addr, "tcp://", 6) == 0);
So(nng_dial(s2, addr, NULL, 0) == 0);
+ nng_strfree(addr);
});
Convey("Malformed TCP addresses do not panic", {