aboutsummaryrefslogtreecommitdiff
path: root/tests/sock.c
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2018-03-18 12:46:31 -0700
committerGarrett D'Amore <garrett@damore.org>2018-03-18 12:46:31 -0700
commit8b979454d891b84da727a329906c4293fadc5f3c (patch)
treecb491c476080de11c7fc5b5868579f4ef86f4df4 /tests/sock.c
parent3a2af394a7d94ac5f924aaea6cbad825a9b05d75 (diff)
downloadnng-8b979454d891b84da727a329906c4293fadc5f3c.tar.gz
nng-8b979454d891b84da727a329906c4293fadc5f3c.tar.bz2
nng-8b979454d891b84da727a329906c4293fadc5f3c.zip
fixes #295 boolean options should use C99 bool type
fixes #275 nng_pipe_getopt_ptr() missing? fixes #285 nng_setopt_ptr MIS fixes #297 nng_listener/dialer_close does not validate mode This change adds some missing APIs, and changes others. In particular, certain options are now of type bool, with size of just one. This is a *breaking* change for code that uses those options -- NNG_OPT_RAW, NNG_OPT_PAIR1_POLY, NNG_OPT_TLS_VERIFIED.
Diffstat (limited to 'tests/sock.c')
-rw-r--r--tests/sock.c70
1 files changed, 55 insertions, 15 deletions
diff --git a/tests/sock.c b/tests/sock.c
index f1570fd8..8ff8b002 100644
--- a/tests/sock.c
+++ b/tests/sock.c
@@ -120,12 +120,15 @@ TestMain("Socket Operations", {
});
Convey("RAW option works", {
- int raw;
- So(nng_getopt_int(s1, NNG_OPT_RAW, &raw) == 0);
- So(raw == 0);
- So(nng_setopt_int(s1, NNG_OPT_RAW, 1) == 0);
- So(nng_getopt_int(s1, NNG_OPT_RAW, &raw) == 0);
- So(raw == 1);
+ bool raw;
+ So(nng_getopt_bool(s1, NNG_OPT_RAW, &raw) ==
+ 0);
+ So(raw == false);
+ So(nng_setopt_bool(s1, NNG_OPT_RAW, true) ==
+ 0);
+ So(nng_getopt_bool(s1, NNG_OPT_RAW, &raw) ==
+ 0);
+ So(raw == true);
});
Convey("URL option works", {
@@ -249,12 +252,14 @@ TestMain("Socket Operations", {
});
Convey("Bogus raw fails", {
+ // Bool type is 1 byte.
So(nng_setopt_int(s1, NNG_OPT_RAW, 42) ==
NNG_EINVAL);
So(nng_setopt_int(s1, NNG_OPT_RAW, -42) ==
NNG_EINVAL);
- So(nng_setopt_int(s1, NNG_OPT_RAW, 0) == 0);
- So(nng_setopt(s1, NNG_OPT_RAW, "a", 1) ==
+ So(nng_setopt_int(s1, NNG_OPT_RAW, 0) ==
+ NNG_EINVAL);
+ So(nng_setopt(s1, NNG_OPT_RAW, "abcd", 4) ==
NNG_EINVAL);
});
@@ -370,12 +375,29 @@ TestMain("Socket Operations", {
ep, NNG_OPT_RECVMAXSZ, &sz) == 0);
So(sz == 4321);
});
+
+ Convey("Cannot access as listener", {
+ bool b;
+ So(nng_listener_getopt_bool(
+ ep, NNG_OPT_RAW, &b) == NNG_ENOENT);
+ So(nng_listener_close(ep) == NNG_ENOENT);
+ });
+
Convey("Socket opts not for dialer", {
// Not appropriate for dialer.
- So(nng_dialer_setopt_int(ep, NNG_OPT_RAW, 1) ==
- NNG_ENOTSUP);
+ So(nng_dialer_setopt_bool(
+ ep, NNG_OPT_RAW, true) == NNG_ENOTSUP);
So(nng_dialer_setopt_ms(ep, NNG_OPT_RECONNMINT,
1) == NNG_ENOTSUP);
+ So(nng_dialer_setopt_string(ep,
+ NNG_OPT_SOCKNAME,
+ "bogus") == NNG_ENOTSUP);
+ });
+
+ Convey("URL is readonly", {
+ So(nng_dialer_setopt_string(ep, NNG_OPT_URL,
+ "tcp://somewhere.else.com:8888") ==
+ NNG_EREADONLY);
});
Convey("Bad size checks", {
So(nng_dialer_setopt(ep, NNG_OPT_RECVMAXSZ,
@@ -398,13 +420,30 @@ TestMain("Socket Operations", {
ep, NNG_OPT_RECVMAXSZ, &sz) == 0);
So(sz == 4321);
});
- Convey("Socket opts not for dialer", {
+ Convey("Cannot access as dialer", {
+ bool b;
+ So(nng_dialer_getopt_bool(
+ ep, NNG_OPT_RAW, &b) == NNG_ENOENT);
+ So(nng_dialer_close(ep) == NNG_ENOENT);
+ });
+
+ Convey("Socket opts not for listener", {
// Not appropriate for dialer.
- So(nng_listener_setopt_int(
- ep, NNG_OPT_RAW, 1) == NNG_ENOTSUP);
+ So(nng_listener_setopt_bool(
+ ep, NNG_OPT_RAW, true) == NNG_ENOTSUP);
So(nng_listener_setopt_ms(ep,
NNG_OPT_RECONNMINT, 1) == NNG_ENOTSUP);
+ So(nng_listener_setopt_string(ep,
+ NNG_OPT_SOCKNAME,
+ "bogus") == NNG_ENOTSUP);
});
+
+ Convey("URL is readonly", {
+ So(nng_listener_setopt_string(ep, NNG_OPT_URL,
+ "tcp://somewhere.else.com:8888") ==
+ NNG_EREADONLY);
+ });
+
Convey("Bad size checks", {
So(nng_listener_setopt(ep, NNG_OPT_RECVMAXSZ,
"a", 1) == NNG_EINVAL);
@@ -417,6 +456,7 @@ TestMain("Socket Operations", {
size_t s;
int i;
nng_duration t;
+ bool b;
So(nng_dialer_setopt_size(
1999, NNG_OPT_RECVMAXSZ, 10) == NNG_ENOENT);
@@ -424,9 +464,9 @@ TestMain("Socket Operations", {
1999, NNG_OPT_RECVMAXSZ, 10) == NNG_ENOENT);
s = 1;
- So(nng_dialer_getopt(1999, NNG_OPT_RAW, &i, &s) ==
+ So(nng_dialer_getopt_bool(1999, NNG_OPT_RAW, &b) ==
NNG_ENOENT);
- So(nng_listener_getopt(1999, NNG_OPT_RAW, &i, &s) ==
+ So(nng_listener_getopt_bool(1999, NNG_OPT_RAW, &b) ==
NNG_ENOENT);
So(nng_dialer_getopt_size(