aboutsummaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
Diffstat (limited to 'src/core')
-rw-r--r--src/core/aio_test.c123
-rw-r--r--src/core/buf_size_test.c64
-rw-r--r--src/core/errors_test.c18
-rw-r--r--src/core/id_test.c103
-rw-r--r--src/core/reconnect_test.c159
-rw-r--r--src/core/sock_test.c520
-rw-r--r--src/core/stats.c36
-rw-r--r--src/core/stats.h4
-rw-r--r--src/core/url_test.c489
9 files changed, 731 insertions, 785 deletions
diff --git a/src/core/aio_test.c b/src/core/aio_test.c
index 787b6149..3dab4b04 100644
--- a/src/core/aio_test.c
+++ b/src/core/aio_test.c
@@ -10,12 +10,7 @@
#include <string.h>
-#include <nng/nng.h>
-#include <nng/protocol/pair1/pair.h>
-#include <nng/supplemental/util/platform.h>
-
-#include "acutest.h"
-#include "testutil.h"
+#include <nuts.h>
static void
cb_done(void *p)
@@ -43,16 +38,16 @@ test_sleep(void)
nng_time end = 0;
nng_aio *aio;
- TEST_NNG_PASS(nng_aio_alloc(&aio, sleep_done, &end));
+ NUTS_PASS(nng_aio_alloc(&aio, sleep_done, &end));
start = nng_clock();
nng_sleep_aio(200, aio);
nng_aio_wait(aio);
- TEST_NNG_PASS(nng_aio_result(aio));
- TEST_CHECK(end != 0);
- TEST_CHECK((end - start) >= 200);
- TEST_CHECK((end - start) <= 1000);
- TEST_CHECK((nng_clock() - start) >= 200);
- TEST_CHECK((nng_clock() - start) <= 1000);
+ NUTS_PASS(nng_aio_result(aio));
+ NUTS_TRUE(end != 0);
+ NUTS_TRUE((end - start) >= 200);
+ NUTS_TRUE((end - start) <= 1000);
+ NUTS_TRUE((nng_clock() - start) >= 200);
+ NUTS_TRUE((nng_clock() - start) <= 1000);
nng_aio_free(aio);
}
@@ -63,17 +58,17 @@ test_sleep_timeout(void)
nng_time end = 0;
nng_aio *aio;
- TEST_CHECK(nng_aio_alloc(&aio, sleep_done, &end) == 0);
+ NUTS_TRUE(nng_aio_alloc(&aio, sleep_done, &end) == 0);
nng_aio_set_timeout(aio, 100);
start = nng_clock();
nng_sleep_aio(2000, aio);
nng_aio_wait(aio);
- TEST_NNG_FAIL(nng_aio_result(aio), NNG_ETIMEDOUT);
- TEST_CHECK(end != 0);
- TEST_CHECK((end - start) >= 100);
- TEST_CHECK((end - start) <= 1000);
- TEST_CHECK((nng_clock() - start) >= 100);
- TEST_CHECK((nng_clock() - start) <= 1000);
+ NUTS_FAIL(nng_aio_result(aio), NNG_ETIMEDOUT);
+ NUTS_TRUE(end != 0);
+ NUTS_TRUE((end - start) >= 100);
+ NUTS_TRUE((end - start) <= 1000);
+ NUTS_TRUE((nng_clock() - start) >= 100);
+ NUTS_TRUE((nng_clock() - start) <= 1000);
nng_aio_free(aio);
}
@@ -83,8 +78,8 @@ test_insane_nio(void)
nng_aio *aio;
nng_iov iov;
- TEST_NNG_PASS(nng_aio_alloc(&aio, NULL, NULL));
- TEST_NNG_FAIL(nng_aio_set_iov(aio, 1024, &iov), NNG_EINVAL);
+ NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL));
+ NUTS_FAIL(nng_aio_set_iov(aio, 1024, &iov), NNG_EINVAL);
nng_aio_free(aio);
}
@@ -94,12 +89,12 @@ test_provider_cancel(void)
nng_aio *aio;
int rv = 0;
// We fake an empty provider that does not do anything.
- TEST_NNG_PASS(nng_aio_alloc(&aio, NULL, NULL));
- TEST_CHECK(nng_aio_begin(aio) == true);
+ NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL));
+ NUTS_TRUE(nng_aio_begin(aio) == true);
nng_aio_defer(aio, cancel, &rv);
nng_aio_cancel(aio);
nng_aio_wait(aio);
- TEST_CHECK(rv == NNG_ECANCELED);
+ NUTS_TRUE(rv == NNG_ECANCELED);
nng_aio_free(aio);
}
@@ -110,18 +105,18 @@ test_consumer_cancel(void)
nng_socket s1;
int done = 0;
- TEST_CHECK(nng_pair1_open(&s1) == 0);
- TEST_CHECK(nng_aio_alloc(&a, cb_done, &done) == 0);
+ NUTS_TRUE(nng_pair1_open(&s1) == 0);
+ NUTS_TRUE(nng_aio_alloc(&a, cb_done, &done) == 0);
nng_aio_set_timeout(a, NNG_DURATION_INFINITE);
nng_recv_aio(s1, a);
nng_aio_cancel(a);
nng_aio_wait(a);
- TEST_CHECK(done == 1);
- TEST_CHECK(nng_aio_result(a) == NNG_ECANCELED);
+ NUTS_TRUE(done == 1);
+ NUTS_TRUE(nng_aio_result(a) == NNG_ECANCELED);
nng_aio_free(a);
- TEST_CHECK(nng_close(s1) == 0);
+ NUTS_TRUE(nng_close(s1) == 0);
}
void
@@ -136,20 +131,20 @@ test_traffic(void)
nng_msg * m;
char * addr = "inproc://traffic";
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_pair1_open(&s2));
+ NUTS_PASS(nng_pair1_open(&s1));
+ NUTS_PASS(nng_pair1_open(&s2));
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
- TEST_NNG_PASS(nng_aio_alloc(&rx_aio, cb_done, &rx_done));
- TEST_NNG_PASS(nng_aio_alloc(&tx_aio, cb_done, &tx_done));
+ NUTS_PASS(nng_aio_alloc(&rx_aio, cb_done, &rx_done));
+ NUTS_PASS(nng_aio_alloc(&tx_aio, cb_done, &tx_done));
nng_aio_set_timeout(rx_aio, 1000);
nng_aio_set_timeout(tx_aio, 1000);
- TEST_NNG_PASS(nng_msg_alloc(&m, 0));
- TEST_NNG_PASS(nng_msg_append(m, "hello", strlen("hello")));
+ NUTS_PASS(nng_msg_alloc(&m, 0));
+ NUTS_PASS(nng_msg_append(m, "hello", strlen("hello")));
nng_recv_aio(s2, rx_aio);
@@ -159,22 +154,22 @@ test_traffic(void)
nng_aio_wait(tx_aio);
nng_aio_wait(rx_aio);
- TEST_NNG_PASS(nng_aio_result(rx_aio));
- TEST_NNG_PASS(nng_aio_result(tx_aio));
+ NUTS_PASS(nng_aio_result(rx_aio));
+ NUTS_PASS(nng_aio_result(tx_aio));
- TEST_CHECK((m = nng_aio_get_msg(rx_aio)) != NULL);
- TEST_CHECK(nng_msg_len(m) == strlen("hello"));
- TEST_CHECK(memcmp(nng_msg_body(m), "hello", strlen("hello")) == 0);
+ NUTS_TRUE((m = nng_aio_get_msg(rx_aio)) != NULL);
+ NUTS_TRUE(nng_msg_len(m) == strlen("hello"));
+ NUTS_TRUE(memcmp(nng_msg_body(m), "hello", strlen("hello")) == 0);
nng_msg_free(m);
- TEST_CHECK(rx_done == 1);
- TEST_CHECK(tx_done == 1);
+ NUTS_TRUE(rx_done == 1);
+ NUTS_TRUE(tx_done == 1);
nng_aio_free(rx_aio);
nng_aio_free(tx_aio);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_PASS(nng_close(s1));
+ NUTS_PASS(nng_close(s2));
}
void
@@ -184,15 +179,15 @@ test_explicit_timeout(void)
nng_aio * a;
int done = 0;
- TEST_NNG_PASS(nng_pair1_open(&s));
- TEST_NNG_PASS(nng_aio_alloc(&a, cb_done, &done));
+ NUTS_PASS(nng_pair1_open(&s));
+ NUTS_PASS(nng_aio_alloc(&a, cb_done, &done));
nng_aio_set_timeout(a, 40);
nng_recv_aio(s, a);
nng_aio_wait(a);
- TEST_CHECK(done == 1);
- TEST_NNG_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
+ NUTS_TRUE(done == 1);
+ NUTS_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
nng_aio_free(a);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_PASS(nng_close(s));
}
void
@@ -202,15 +197,15 @@ test_inherited_timeout(void)
nng_aio * a;
int done = 0;
- TEST_NNG_PASS(nng_pair1_open(&s));
- TEST_NNG_PASS(nng_aio_alloc(&a, cb_done, &done));
- TEST_NNG_PASS(nng_socket_set_ms(s, NNG_OPT_RECVTIMEO, 40));
+ NUTS_PASS(nng_pair1_open(&s));
+ NUTS_PASS(nng_aio_alloc(&a, cb_done, &done));
+ NUTS_PASS(nng_socket_set_ms(s, NNG_OPT_RECVTIMEO, 40));
nng_recv_aio(s, a);
nng_aio_wait(a);
- TEST_CHECK(done == 1);
- TEST_NNG_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
+ NUTS_TRUE(done == 1);
+ NUTS_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
nng_aio_free(a);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_PASS(nng_close(s));
}
void
@@ -220,18 +215,18 @@ test_zero_timeout(void)
nng_aio * a;
int done = 0;
- TEST_NNG_PASS(nng_pair1_open(&s));
- TEST_NNG_PASS(nng_aio_alloc(&a, cb_done, &done));
+ NUTS_PASS(nng_pair1_open(&s));
+ NUTS_PASS(nng_aio_alloc(&a, cb_done, &done));
nng_aio_set_timeout(a, NNG_DURATION_ZERO);
nng_recv_aio(s, a);
nng_aio_wait(a);
- TEST_CHECK(done == 1);
- TEST_NNG_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
+ NUTS_TRUE(done == 1);
+ NUTS_FAIL(nng_aio_result(a), NNG_ETIMEDOUT);
nng_aio_free(a);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_PASS(nng_close(s));
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "sleep", test_sleep },
{ "sleep timeout", test_sleep_timeout },
{ "insane nio", test_insane_nio },
diff --git a/src/core/buf_size_test.c b/src/core/buf_size_test.c
index 172cb1f0..b8757991 100644
--- a/src/core/buf_size_test.c
+++ b/src/core/buf_size_test.c
@@ -8,16 +8,11 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include <nng/nng.h>
-#include <nng/protocol/pair1/pair.h>
-#include <nng/supplemental/util/platform.h>
+#include <nuts.h>
#include <nng/compat/nanomsg/nn.h>
-#include "acutest.h"
-#include "testutil.h"
-
-void
+ void
test_buffer_options(void)
{
nng_socket s1;
@@ -31,38 +26,37 @@ test_buffer_options(void)
NULL,
};
- TEST_CHECK(nng_pair1_open(&s1) == 0);
+ NUTS_PASS(nng_pair1_open(&s1));
for (int i = 0; (opt = cases[i]) != NULL; i++) {
- TEST_CASE(opt);
+ NUTS_CASE(opt);
// Can't receive a size into zero bytes.
sz = 0;
- TEST_NNG_FAIL(nng_socket_get(s1, opt, &val, &sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_get(s1, opt, &val, &sz), NNG_EINVAL);
// Can set a valid size
- TEST_NNG_PASS(nng_socket_set_int(s1, opt, 1234));
- TEST_NNG_PASS(nng_socket_get_int(s1, opt, &val));
- TEST_CHECK(val == 1234);
+ NUTS_PASS(nng_socket_set_int(s1, opt, 1234));
+ NUTS_PASS(nng_socket_get_int(s1, opt, &val));
+ NUTS_TRUE(val == 1234);
val = 0;
sz = sizeof(val);
- TEST_NNG_PASS(nng_socket_get(s1, opt, &val, &sz));
- TEST_CHECK(val == 1234);
- TEST_CHECK(sz == sizeof(val));
+ NUTS_PASS(nng_socket_get(s1, opt, &val, &sz));
+ NUTS_TRUE(val == 1234);
+ NUTS_TRUE(sz == sizeof(val));
// Can't set a negative size
- TEST_NNG_FAIL(nng_socket_set_int(s1, opt, -5), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set_int(s1, opt, -5), NNG_EINVAL);
// Can't pass a buf too small for size
sz = sizeof(val) - 1;
val = 1;
- TEST_NNG_FAIL(nng_socket_set(s1, opt, &val, sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, opt, &val, sz), NNG_EINVAL);
// Buffer sizes are limited to sane levels
- TEST_NNG_FAIL(
- nng_socket_set_int(s1, opt, 0x100000), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set_int(s1, opt, 0x100000), NNG_EINVAL);
}
- TEST_CHECK(nng_close(s1) == 0);
+ NUTS_PASS(nng_close(s1));
}
void
@@ -81,38 +75,38 @@ test_buffer_legacy(void)
NN_SNDBUF,
};
- TEST_CHECK(nng_pair1_open(&s1) == 0);
+ NUTS_PASS(nng_pair1_open(&s1));
for (int i = 0; (opt = cases[i]) != NULL; i++) {
int cnt;
int os = (int) s1.id;
size_t sz;
int nno = legacy[i];
- TEST_CASE(opt);
+ NUTS_CASE(opt);
sz = sizeof(cnt);
- TEST_NNG_PASS(nng_socket_set_int(s1, opt, 10));
- TEST_CHECK(
+ NUTS_PASS(nng_socket_set_int(s1, opt, 10));
+ NUTS_TRUE(
nn_getsockopt(os, NN_SOL_SOCKET, nno, &cnt, &sz) == 0);
- TEST_CHECK(cnt == 10240); // 1k multiple
+ NUTS_TRUE(cnt == 10240); // 1k multiple
cnt = 1;
- TEST_CHECK(
+ NUTS_TRUE(
nn_setsockopt(os, NN_SOL_SOCKET, nno, &cnt, sz) == 0);
- TEST_CHECK(
+ NUTS_TRUE(
nn_getsockopt(os, NN_SOL_SOCKET, nno, &cnt, &sz) == 0);
- TEST_CHECK(cnt == 1024); // round up!
- TEST_NNG_PASS(nng_socket_get_int(s1, opt, &cnt));
- TEST_CHECK(cnt == 1);
+ NUTS_TRUE(cnt == 1024); // round up!
+ NUTS_PASS(nng_socket_get_int(s1, opt, &cnt));
+ NUTS_TRUE(cnt == 1);
- TEST_CHECK(
+ NUTS_TRUE(
nn_setsockopt(os, NN_SOL_SOCKET, nno, &cnt, 100) == -1);
- TEST_CHECK(nn_errno() == EINVAL);
+ NUTS_TRUE(nn_errno() == EINVAL);
}
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_PASS(nng_close(s1));
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "buffer options", test_buffer_options },
{ "buffer legacy", test_buffer_legacy },
{ NULL, NULL },
diff --git a/src/core/errors_test.c b/src/core/errors_test.c
index 4e50467c..52d820fe 100644
--- a/src/core/errors_test.c
+++ b/src/core/errors_test.c
@@ -10,35 +10,31 @@
#include <errno.h>
#include <string.h>
-#include <nng/nng.h>
-
-#include <acutest.h>
-#include <testutil.h>
+#include <nuts.h>
static void
test_known_errors(void)
{
-
- TEST_STREQUAL(nng_strerror(NNG_ECLOSED), "Object closed");
- TEST_STREQUAL(nng_strerror(NNG_ETIMEDOUT), "Timed out");
+ NUTS_MATCH(nng_strerror(NNG_ECLOSED), "Object closed");
+ NUTS_MATCH(nng_strerror(NNG_ETIMEDOUT), "Timed out");
}
static void
test_unknown_errors(void)
{
for (unsigned i = 1; i < 0x1000000; i = i * 2 + 100) {
- TEST_CHECK(nng_strerror(i) != NULL);
+ NUTS_TRUE(nng_strerror(i) != NULL);
}
}
static void
test_system_errors(void)
{
- TEST_STREQUAL(nng_strerror(NNG_ESYSERR + ENOENT), strerror(ENOENT));
- TEST_STREQUAL(nng_strerror(NNG_ESYSERR + EINVAL), strerror(EINVAL));
+ NUTS_MATCH(nng_strerror(NNG_ESYSERR + ENOENT), strerror(ENOENT));
+ NUTS_MATCH(nng_strerror(NNG_ESYSERR + EINVAL), strerror(EINVAL));
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "known errors", test_known_errors },
{ "unknown errors", test_unknown_errors },
{ "system errors", test_system_errors },
diff --git a/src/core/id_test.c b/src/core/id_test.c
index 8312b5cc..51872e69 100644
--- a/src/core/id_test.c
+++ b/src/core/id_test.c
@@ -7,8 +7,7 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include "acutest.h"
-#include "testutil.h"
+#include <nuts.h>
#include "idhash.h"
@@ -22,16 +21,16 @@ test_basic(void)
nni_id_map_init(&m, 0, 0, false);
// insert it
- TEST_NNG_PASS(nni_id_set(&m, 5, five));
+ NUTS_PASS(nni_id_set(&m, 5, five));
// retrieve it
- TEST_CHECK(nni_id_get(&m, 5) == five);
+ NUTS_TRUE(nni_id_get(&m, 5) == five);
// change it
- TEST_NNG_PASS(nni_id_set(&m, 5, four));
- TEST_CHECK(nni_id_get(&m, 5) == four);
+ NUTS_PASS(nni_id_set(&m, 5, four));
+ NUTS_TRUE(nni_id_get(&m, 5) == four);
// delete
- TEST_NNG_PASS(nni_id_remove(&m, 5));
+ NUTS_PASS(nni_id_remove(&m, 5));
nni_id_map_fini(&m);
}
@@ -44,17 +43,17 @@ test_random(void)
for (i = 0; i < 2; i++) {
nni_id_map m;
nni_id_map_init(&m, 0, 0, true);
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &id));
+ NUTS_PASS(nni_id_alloc(&m, &id, &id));
nni_id_map_fini(&m);
- TEST_CHECK(id != 0);
+ NUTS_TRUE(id != 0);
if (id != 1) {
break;
}
// one chance in 4 billion, but try again
}
- TEST_CHECK(id != 1);
- TEST_CHECK(i < 2);
+ NUTS_TRUE(id != 1);
+ NUTS_TRUE(i < 2);
}
void
@@ -67,14 +66,14 @@ test_collision(void)
nni_id_map_init(&m, 0, 0, false);
// Carefully crafted -- 13 % 8 == 5.
- TEST_NNG_PASS(nni_id_set(&m, 5, five));
- TEST_NNG_PASS(nni_id_set(&m, 13, four));
- TEST_CHECK(nni_id_get(&m, 5) == five);
- TEST_CHECK(nni_id_get(&m, 13) == four);
+ NUTS_PASS(nni_id_set(&m, 5, five));
+ NUTS_PASS(nni_id_set(&m, 13, four));
+ NUTS_TRUE(nni_id_get(&m, 5) == five);
+ NUTS_TRUE(nni_id_get(&m, 13) == four);
// Delete the intermediate
- TEST_NNG_PASS(nni_id_remove(&m, 5));
- TEST_CHECK(nni_id_get(&m, 13) == four);
+ NUTS_PASS(nni_id_remove(&m, 5));
+ NUTS_TRUE(nni_id_get(&m, 13) == four);
nni_id_map_fini(&m);
}
@@ -85,9 +84,9 @@ test_empty(void)
nni_id_map m;
nni_id_map_init(&m, 0, 0, false);
- TEST_CHECK(nni_id_get(&m, 42) == NULL);
- TEST_NNG_FAIL(nni_id_remove(&m, 42), NNG_ENOENT);
- TEST_NNG_FAIL(nni_id_remove(&m, 1), NNG_ENOENT);
+ NUTS_TRUE(nni_id_get(&m, 42) == NULL);
+ NUTS_FAIL(nni_id_remove(&m, 42), NNG_ENOENT);
+ NUTS_FAIL(nni_id_remove(&m, 1), NNG_ENOENT);
nni_id_map_fini(&m);
}
@@ -98,10 +97,10 @@ test_not_found(void)
uint32_t id;
nni_id_map_init(&m, 0, 0, false);
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &id));
- TEST_NNG_FAIL(nni_id_remove(&m, 42), NNG_ENOENT);
- TEST_NNG_FAIL(nni_id_remove(&m, 2), NNG_ENOENT);
- TEST_NNG_PASS(nni_id_remove(&m, id));
+ NUTS_PASS(nni_id_alloc(&m, &id, &id));
+ NUTS_FAIL(nni_id_remove(&m, 42), NNG_ENOENT);
+ NUTS_FAIL(nni_id_remove(&m, 2), NNG_ENOENT);
+ NUTS_PASS(nni_id_remove(&m, id));
nni_id_map_fini(&m);
}
@@ -121,13 +120,13 @@ test_resize(void)
for (i = 0; i < 1024; i++) {
if ((rv = nni_id_set(&m, i, &expect[i])) != 0) {
- TEST_NNG_PASS(rv);
+ NUTS_PASS(rv);
}
}
for (i = 0; i < 1024; i++) {
if ((rv = nni_id_remove(&m, i)) != 0) {
- TEST_NNG_PASS(rv);
+ NUTS_PASS(rv);
}
}
nni_id_map_fini(&m);
@@ -143,24 +142,24 @@ test_dynamic(void)
nni_id_map_init(&m, 10, 13, false);
// We can fill the table.
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &expect[0]));
- TEST_CHECK(id == 10);
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &expect[1]));
- TEST_CHECK(id == 11);
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &expect[2]));
- TEST_CHECK(id == 12);
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &expect[3]));
- TEST_CHECK(id == 13);
+ NUTS_PASS(nni_id_alloc(&m, &id, &expect[0]));
+ NUTS_TRUE(id == 10);
+ NUTS_PASS(nni_id_alloc(&m, &id, &expect[1]));
+ NUTS_TRUE(id == 11);
+ NUTS_PASS(nni_id_alloc(&m, &id, &expect[2]));
+ NUTS_TRUE(id == 12);
+ NUTS_PASS(nni_id_alloc(&m, &id, &expect[3]));
+ NUTS_TRUE(id == 13);
// Adding another fails.
- TEST_NNG_FAIL(nni_id_alloc(&m, &id, &expect[4]), NNG_ENOMEM);
+ NUTS_FAIL(nni_id_alloc(&m, &id, &expect[4]), NNG_ENOMEM);
// Delete one.
- TEST_NNG_PASS(nni_id_remove(&m, 11));
+ NUTS_PASS(nni_id_remove(&m, 11));
// And now we can allocate one.
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &expect[4]));
- TEST_CHECK(id == 11);
+ NUTS_PASS(nni_id_alloc(&m, &id, &expect[4]));
+ NUTS_TRUE(id == 11);
nni_id_map_fini(&m);
}
@@ -174,10 +173,10 @@ test_set_out_of_range(void)
nni_id_map_init(&m, 10, 13, false);
// We can insert outside the range forcibly.
- TEST_NNG_PASS(nni_id_set(&m, 1, &x));
- TEST_NNG_PASS(nni_id_set(&m, 100, &x));
- TEST_NNG_PASS(nni_id_alloc(&m, &id, &x));
- TEST_CHECK(id == 10);
+ NUTS_PASS(nni_id_set(&m, 1, &x));
+ NUTS_PASS(nni_id_set(&m, 100, &x));
+ NUTS_PASS(nni_id_alloc(&m, &id, &x));
+ NUTS_TRUE(id == 10);
nni_id_map_fini(&m);
}
@@ -207,7 +206,7 @@ test_stress(void)
x = &values[rand() % NUM_VALUES];
values[v] = x;
if ((rv = nni_id_set(&m, v, x)) != 0) {
- TEST_NNG_PASS(rv);
+ NUTS_PASS(rv);
goto out;
}
break;
@@ -216,13 +215,13 @@ test_stress(void)
rv = nni_id_remove(&m, v);
if (values[v] == NULL) {
if (rv != NNG_ENOENT) {
- TEST_NNG_FAIL(rv, NNG_ENOENT);
+ NUTS_FAIL(rv, NNG_ENOENT);
goto out;
}
} else {
values[v] = NULL;
if (rv != 0) {
- TEST_NNG_PASS(rv);
+ NUTS_PASS(rv);
goto out;
}
}
@@ -230,20 +229,20 @@ test_stress(void)
case 2:
x = nni_id_get(&m, v);
if (x != values[v]) {
- TEST_CHECK(x == values[v]);
+ NUTS_TRUE(x == values[v]);
goto out;
}
break;
}
}
out:
- TEST_CHECK(i == STRESS_LOAD);
+ NUTS_TRUE(i == STRESS_LOAD);
// Post stress check.
for (i = 0; i < NUM_VALUES; i++) {
x = nni_id_get(&m, i);
if (x != values[i]) {
- TEST_CHECK(x == values[i]);
+ NUTS_TRUE(x == values[i]);
break;
}
@@ -251,17 +250,17 @@ out:
// to fail. Otherwise there will be too many errors reported.
rv = nni_id_remove(&m, i);
if ((x == NULL) && (rv != NNG_ENOENT)) {
- TEST_NNG_FAIL(rv, NNG_ENOENT);
+ NUTS_FAIL(rv, NNG_ENOENT);
} else if ((x != NULL) && (rv != 0)) {
- TEST_NNG_PASS(rv);
+ NUTS_PASS(rv);
}
}
- TEST_CHECK(i == NUM_VALUES);
+ NUTS_TRUE(i == NUM_VALUES);
nni_id_map_fini(&m);
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "basic", test_basic },
{ "random", test_random },
{ "collision", test_collision },
diff --git a/src/core/reconnect_test.c b/src/core/reconnect_test.c
index 669261c9..308a3f78 100644
--- a/src/core/reconnect_test.c
+++ b/src/core/reconnect_test.c
@@ -10,101 +10,95 @@
#include <string.h>
-#include <nng/nng.h>
-#include <nng/protocol/pipeline0/pull.h>
-#include <nng/protocol/pipeline0/push.h>
-#include <nng/supplemental/util/platform.h>
-
-#include "acutest.h"
-#include "testutil.h"
+#include <nuts.h>
void
test_dial_before_listen(void)
{
- nng_socket push;
- nng_socket pull;
- char addr[64];
+ nng_socket s1;
+ nng_socket s2;
+ char *addr;
- testutil_scratch_addr("inproc", sizeof(addr), addr);
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_push0_open(&push));
- TEST_NNG_PASS(nng_pull0_open(&pull));
+ NUTS_ADDR(addr, "inproc");
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMINT, 10));
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMAXT, 10));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECONNMINT, 10));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECONNMAXT, 10));
- TEST_NNG_PASS(nng_dial(pull, addr, NULL, NNG_FLAG_NONBLOCK));
- testutil_sleep(100);
- TEST_NNG_PASS(nng_listen(push, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, NNG_FLAG_NONBLOCK));
+ NUTS_SLEEP(100);
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
- TEST_NNG_SEND_STR(push, "hello");
- TEST_NNG_RECV_STR(pull, "hello");
+ NUTS_SEND(s1, "hello");
+ NUTS_RECV(s2, "hello");
- TEST_NNG_PASS(nng_close(push));
- TEST_NNG_PASS(nng_close(pull));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
test_reconnect(void)
{
- nng_socket push;
- nng_socket pull;
+ nng_socket s1;
+ nng_socket s2;
nng_listener l;
- char addr[64];
+ char *addr;
- testutil_scratch_addr("inproc", sizeof(addr), addr);
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_push0_open(&push));
- TEST_NNG_PASS(nng_pull0_open(&pull));
+ NUTS_ADDR(addr, "inproc");
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMINT, 10));
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMAXT, 10));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECONNMINT, 10));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECONNMAXT, 10));
- TEST_NNG_PASS(nng_dial(pull, addr, NULL, NNG_FLAG_NONBLOCK));
- testutil_sleep(100);
- TEST_NNG_PASS(nng_listen(push, addr, &l, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, NNG_FLAG_NONBLOCK));
+ NUTS_SLEEP(100);
+ NUTS_PASS(nng_listen(s1, addr, &l, 0));
- TEST_NNG_SEND_STR(push, "hello");
- TEST_NNG_RECV_STR(pull, "hello");
+ NUTS_SEND(s1, "hello");
+ NUTS_RECV(s2, "hello");
// Close the listener
- TEST_NNG_PASS(nng_listener_close(l));
+ NUTS_PASS(nng_listener_close(l));
- TEST_NNG_PASS(nng_listen(push, addr, &l, 0));
- TEST_NNG_SEND_STR(push, "again");
- TEST_NNG_RECV_STR(pull, "again");
+ NUTS_PASS(nng_listen(s1, addr, &l, 0));
+ NUTS_SEND(s1, "again");
+ NUTS_RECV(s2, "again");
- TEST_NNG_PASS(nng_close(push));
- TEST_NNG_PASS(nng_close(pull));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
test_reconnect_pipe(void)
{
- nng_socket push;
- nng_socket pull;
+ nng_socket s1;
+ nng_socket s2;
nng_listener l;
nng_msg * msg;
- char addr[64];
+ char * addr;
- testutil_scratch_addr("inproc", sizeof(addr), addr);
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_push0_open(&push));
- TEST_NNG_PASS(nng_pull0_open(&pull));
+ NUTS_ADDR(addr, "inproc");
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMINT, 10));
- TEST_NNG_PASS(nng_socket_set_ms(pull, NNG_OPT_RECONNMAXT, 10));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMINT, 10));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMAXT, 10));
- TEST_NNG_PASS(nng_dial(pull, addr, NULL, NNG_FLAG_NONBLOCK));
- testutil_sleep(100);
- TEST_NNG_PASS(nng_listen(push, addr, &l, 0));
+ NUTS_PASS(nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK));
+ NUTS_SLEEP(100);
+ NUTS_PASS(nng_listen(s2, addr, &l, 0));
- TEST_NNG_SEND_STR(push, "hello");
+ NUTS_SEND(s2, "hello");
- TEST_NNG_PASS(nng_recvmsg(pull, &msg, 0));
- TEST_CHECK(msg != NULL);
- TEST_CHECK(nng_msg_len(msg) == 6);
- TEST_CHECK(strcmp(nng_msg_body(msg), "hello") == 0);
+ NUTS_PASS(nng_recvmsg(s1, &msg, 0));
+ NUTS_TRUE(msg != NULL);
+ NUTS_TRUE(nng_msg_len(msg) == 6);
+ NUTS_MATCH(nng_msg_body(msg), "hello");
nng_pipe_close(nng_msg_get_pipe(msg));
nng_msg_free(msg);
@@ -112,53 +106,54 @@ test_reconnect_pipe(void)
// receiver, the receiver might not have got the update. If we
// send too soon, then the message gets routed to the sender pipe
// that is about to close.
- testutil_sleep(100);
+ NUTS_SLEEP(100);
- // Reconnect should happen more ore less immediately.
- TEST_NNG_SEND_STR(push, "again");
- TEST_NNG_RECV_STR(pull, "again");
+ // Reconnect should happen more or less immediately.
+ NUTS_SEND(s2, "again");
+ NUTS_RECV(s1, "again");
- TEST_NNG_PASS(nng_close(push));
- TEST_NNG_PASS(nng_close(pull));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
test_reconnect_back_off_zero(void)
{
- nng_socket push;
- nng_socket pull;
- nng_time start;
- char addr[64];
- testutil_scratch_addr("inproc", sizeof(addr), addr);
+ nng_socket s1;
+ nng_socket s2;
+ uint64_t start;
+ char * addr;
+
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_push0_open(&push));
- TEST_NNG_PASS(nng_pull0_open(&pull));
+ NUTS_ADDR(addr, "inproc");
// redial every 10 ms.
- TEST_NNG_PASS(nng_socket_set_ms(push, NNG_OPT_RECONNMAXT, 0));
- TEST_NNG_PASS(nng_socket_set_ms(push, NNG_OPT_RECONNMINT, 10));
- TEST_NNG_PASS(nng_dial(push, addr, NULL, NNG_FLAG_NONBLOCK));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMAXT, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMINT, 10));
+ NUTS_PASS(nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK));
// Start up the dialer first. It should keep retrying every 10 ms.
// Wait 500 milliseconds. This gives a chance for an exponential
// back-off to increase to a longer time. It should by this point
// be well over 100 and probably closer to 200 ms.
- nng_msleep(500);
+ NUTS_SLEEP(500);
- start = nng_clock();
- TEST_NNG_PASS(nng_listen(pull, addr, NULL, 0));
+ NUTS_CLOCK(start);
+ NUTS_PASS(nng_listen(s2, addr, NULL, 0));
- TEST_NNG_SEND_STR(push, "hello");
- TEST_NNG_RECV_STR(pull, "hello");
+ NUTS_SEND(s1, "hello");
+ NUTS_RECV(s2, "hello");
- TEST_CHECK(nng_clock() - start < 100);
+ NUTS_BEFORE(start + 100);
- TEST_NNG_PASS(nng_close(push));
- TEST_NNG_PASS(nng_close(pull));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "dial before listen", test_dial_before_listen },
{ "reconnect", test_reconnect },
{ "reconnect back-off zero", test_reconnect_back_off_zero },
diff --git a/src/core/sock_test.c b/src/core/sock_test.c
index ab557632..9edfbf53 100644
--- a/src/core/sock_test.c
+++ b/src/core/sock_test.c
@@ -8,14 +8,7 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include <string.h>
-
-#include <nng/nng.h>
-#include <nng/protocol/pair1/pair.h>
-#include <nng/supplemental/util/platform.h>
-
-#include "acutest.h"
-#include "testutil.h"
+#include <nuts.h>
void
test_recv_timeout(void)
@@ -24,14 +17,14 @@ test_recv_timeout(void)
uint64_t now;
nng_msg * msg = NULL;
- TEST_NNG_PASS(nng_pair_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10));
- now = testutil_clock();
- TEST_NNG_FAIL(nng_recvmsg(s1, &msg, 0), NNG_ETIMEDOUT);
- TEST_CHECK(msg == NULL);
- TEST_CHECK(testutil_clock() >= (now + 9));
- TEST_CHECK(testutil_clock() < (now + 500));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10));
+ NUTS_CLOCK(now);
+ NUTS_FAIL(nng_recvmsg(s1, &msg, 0), NNG_ETIMEDOUT);
+ NUTS_TRUE(msg == NULL);
+ NUTS_BEFORE(now + 500);
+ NUTS_AFTER(now + 9);
+ NUTS_CLOSE(s1);
}
void
@@ -41,13 +34,13 @@ test_recv_nonblock(void)
uint64_t now;
nng_msg * msg = NULL;
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10));
- now = testutil_clock();
- TEST_NNG_FAIL(nng_recvmsg(s1, &msg, NNG_FLAG_NONBLOCK), NNG_EAGAIN);
- TEST_CHECK(msg == NULL);
- TEST_CHECK(testutil_clock() < (now + 500));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 10));
+ NUTS_CLOCK(now);
+ NUTS_FAIL(nng_recvmsg(s1, &msg, NNG_FLAG_NONBLOCK), NNG_EAGAIN);
+ NUTS_TRUE(msg == NULL);
+ NUTS_BEFORE(now + 500);
+ NUTS_CLOSE(s1);
}
void
@@ -57,15 +50,15 @@ test_send_timeout(void)
uint64_t now;
nng_msg * msg;
- TEST_NNG_PASS(nng_msg_alloc(&msg, 0));
- TEST_NNG_PASS(nng_pair_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
- now = testutil_clock();
- TEST_NNG_FAIL(nng_sendmsg(s1, msg, 0), NNG_ETIMEDOUT);
- TEST_CHECK(testutil_clock() >= (now + 9));
- TEST_CHECK(testutil_clock() < (now + 500));
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_msg_alloc(&msg, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
+ NUTS_CLOCK(now);
+ NUTS_FAIL(nng_sendmsg(s1, msg, 0), NNG_ETIMEDOUT);
+ NUTS_BEFORE(now + 500);
+ NUTS_AFTER(now + 9);
nng_msg_free(msg);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -75,26 +68,24 @@ test_send_nonblock(void)
uint64_t now;
nng_msg * msg;
- TEST_NNG_PASS(nng_msg_alloc(&msg, 0));
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 500));
- now = testutil_clock();
- TEST_NNG_FAIL(nng_sendmsg(s1, msg, NNG_FLAG_NONBLOCK), NNG_EAGAIN);
- TEST_CHECK(testutil_clock() < (now + 100));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_msg_alloc(&msg, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 500));
+ NUTS_CLOCK(now);
+ NUTS_FAIL(nng_sendmsg(s1, msg, NNG_FLAG_NONBLOCK), NNG_EAGAIN);
+ NUTS_BEFORE(now + 100);
nng_msg_free(msg);
+ NUTS_CLOSE(s1);
}
void
test_readonly_options(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_FAIL(
- nng_socket_set_int(s1, NNG_OPT_RECVFD, 0), NNG_EREADONLY);
- TEST_NNG_FAIL(
- nng_socket_set_int(s1, NNG_OPT_SENDFD, 0), NNG_EREADONLY);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_FAIL(nng_socket_set_int(s1, NNG_OPT_RECVFD, 0), NNG_EREADONLY);
+ NUTS_FAIL(nng_socket_set_int(s1, NNG_OPT_SENDFD, 0), NNG_EREADONLY);
+ NUTS_CLOSE(s1);
}
void
@@ -102,14 +93,14 @@ test_socket_base(void)
{
nng_socket s1 = NNG_SOCKET_INITIALIZER;
- TEST_CHECK(nng_socket_id(s1) < 0);
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_CHECK(nng_socket_id(s1) > 0);
+ NUTS_TRUE(nng_socket_id(s1) < 0);
+ NUTS_PASS(nng_pair1_open(&s1));
+ NUTS_TRUE(nng_socket_id(s1) > 0);
// Cannot set bogus options
- TEST_NNG_FAIL(nng_socket_set_bool(s1, "BAD_OPT", false), NNG_ENOTSUP);
+ NUTS_FAIL(nng_socket_set_bool(s1, "BAD_OPT", false), NNG_ENOTSUP);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -123,34 +114,33 @@ test_socket_name(void)
size_t sz;
sz = sizeof(name);
- TEST_NNG_PASS(nng_pair_open(&s1));
- TEST_NNG_PASS(nng_socket_get(s1, NNG_OPT_SOCKNAME, name, &sz));
- TEST_CHECK(sz > 0 && sz < 64);
- TEST_CHECK(sz == strlen(name) + 1);
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_socket_get(s1, NNG_OPT_SOCKNAME, name, &sz));
+ NUTS_TRUE(sz > 0 && sz < 64);
+ NUTS_TRUE(sz == strlen(name) + 1);
id = strtol(name, &end, 10);
- TEST_CHECK(id == (long) s1.id);
- TEST_CHECK(end != NULL && *end == '\0');
+ NUTS_TRUE(id == (long) s1.id);
+ NUTS_TRUE(end != NULL && *end == '\0');
- TEST_NNG_PASS(nng_socket_set(s1, NNG_OPT_SOCKNAME, "hello", 6));
+ NUTS_PASS(nng_socket_set(s1, NNG_OPT_SOCKNAME, "hello", 6));
sz = sizeof(name);
- TEST_NNG_PASS(nng_socket_get(s1, NNG_OPT_SOCKNAME, name, &sz));
- TEST_CHECK(sz == 6);
- TEST_STREQUAL(name, "hello");
+ NUTS_PASS(nng_socket_get(s1, NNG_OPT_SOCKNAME, name, &sz));
+ NUTS_TRUE(sz == 6);
+ NUTS_MATCH(name, "hello");
memset(name, 'A', 64);
name[64] = '\0';
// strings must be NULL terminated
- TEST_NNG_FAIL(
- nng_socket_set(s1, NNG_OPT_SOCKNAME, name, 5), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, NNG_OPT_SOCKNAME, name, 5), NNG_EINVAL);
- TEST_NNG_PASS(nng_socket_get_string(s1, NNG_OPT_SOCKNAME, &str));
- TEST_ASSERT(str != NULL);
- TEST_CHECK(strlen(str) == 5);
- TEST_STREQUAL(str, "hello");
+ NUTS_PASS(nng_socket_get_string(s1, NNG_OPT_SOCKNAME, &str));
+ NUTS_ASSERT(str != NULL);
+ NUTS_TRUE(strlen(str) == 5);
+ NUTS_MATCH(str, "hello");
nng_strfree(str);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -161,22 +151,20 @@ test_socket_name_oversize(void)
size_t sz = sizeof(name);
memset(name, 'A', sz);
- TEST_NNG_PASS(nng_pair_open(&s1));
+ NUTS_OPEN(s1);
- TEST_NNG_FAIL(
- nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz), NNG_EINVAL);
name[sz - 1] = '\0';
- TEST_NNG_FAIL(
- nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz), NNG_EINVAL);
strcpy(name, "hello");
- TEST_NNG_PASS(nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz));
+ NUTS_PASS(nng_socket_set(s1, NNG_OPT_SOCKNAME, name, sz));
sz = sizeof(name);
memset(name, 'B', sz);
- TEST_NNG_PASS(nng_getopt(s1, NNG_OPT_SOCKNAME, name, &sz));
- TEST_CHECK(sz == 6);
- TEST_STREQUAL(name, "hello");
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_PASS(nng_getopt(s1, NNG_OPT_SOCKNAME, name, &sz));
+ NUTS_TRUE(sz == 6);
+ NUTS_MATCH(name, "hello");
+ NUTS_CLOSE(s1);
}
void
@@ -190,33 +178,33 @@ test_send_recv(void)
char * buf;
char * a = "inproc://t1";
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_pair1_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_socket_set_int(s1, NNG_OPT_RECVBUF, 1));
- TEST_NNG_PASS(nng_socket_get_int(s1, NNG_OPT_RECVBUF, &len));
- TEST_CHECK(len == 1);
+ NUTS_PASS(nng_socket_set_int(s1, NNG_OPT_RECVBUF, 1));
+ NUTS_PASS(nng_socket_get_int(s1, NNG_OPT_RECVBUF, &len));
+ NUTS_TRUE(len == 1);
- TEST_NNG_PASS(nng_socket_set_int(s1, NNG_OPT_SENDBUF, 1));
- TEST_NNG_PASS(nng_socket_set_int(s2, NNG_OPT_SENDBUF, 1));
+ NUTS_PASS(nng_socket_set_int(s1, NNG_OPT_SENDBUF, 1));
+ NUTS_PASS(nng_socket_set_int(s2, NNG_OPT_SENDBUF, 1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, to));
- TEST_NNG_PASS(nng_listen(s1, a, NULL, 0));
- TEST_NNG_PASS(nng_dial(s2, a, NULL, 0));
+ NUTS_PASS(nng_listen(s1, a, NULL, 0));
+ NUTS_PASS(nng_dial(s2, a, NULL, 0));
- TEST_NNG_PASS(nng_send(s1, "abc", 4, 0));
- TEST_NNG_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
- TEST_CHECK(buf != NULL);
- TEST_CHECK(sz == 4);
- TEST_CHECK(memcmp(buf, "abc", 4) == 0);
+ NUTS_PASS(nng_send(s1, "abc", 4, 0));
+ NUTS_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
+ NUTS_TRUE(buf != NULL);
+ NUTS_TRUE(sz == 4);
+ NUTS_TRUE(memcmp(buf, "abc", 4) == 0);
nng_free(buf, sz);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
@@ -230,32 +218,32 @@ test_send_recv_zero_length(void)
char * buf;
char * a = "inproc://send-recv-zero-length";
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_pair1_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_socket_set_int(s1, NNG_OPT_RECVBUF, 1));
- TEST_NNG_PASS(nng_getopt_int(s1, NNG_OPT_RECVBUF, &len));
- TEST_CHECK(len == 1);
+ NUTS_PASS(nng_socket_set_int(s1, NNG_OPT_RECVBUF, 1));
+ NUTS_PASS(nng_getopt_int(s1, NNG_OPT_RECVBUF, &len));
+ NUTS_TRUE(len == 1);
- TEST_NNG_PASS(nng_socket_set_int(s1, NNG_OPT_SENDBUF, 1));
- TEST_NNG_PASS(nng_socket_set_int(s2, NNG_OPT_SENDBUF, 1));
+ NUTS_PASS(nng_socket_set_int(s1, NNG_OPT_SENDBUF, 1));
+ NUTS_PASS(nng_socket_set_int(s2, NNG_OPT_SENDBUF, 1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, to));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, to));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, to));
- TEST_NNG_PASS(nng_listen(s1, a, NULL, 0));
- TEST_NNG_PASS(nng_dial(s2, a, NULL, 0));
+ NUTS_PASS(nng_listen(s1, a, NULL, 0));
+ NUTS_PASS(nng_dial(s2, a, NULL, 0));
- TEST_NNG_PASS(nng_send(s1, "", 0, 0));
- TEST_NNG_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
- TEST_CHECK(buf == NULL);
- TEST_CHECK(sz == 0);
+ NUTS_PASS(nng_send(s1, "", 0, 0));
+ NUTS_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
+ NUTS_TRUE(buf == NULL);
+ NUTS_TRUE(sz == 0);
nng_free(buf, sz);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
@@ -263,9 +251,9 @@ test_connection_refused(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_FAIL(nng_dial(s1, "inproc://no", NULL, 0), NNG_ECONNREFUSED);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_FAIL(nng_dial(s1, "inproc://no", NULL, 0), NNG_ECONNREFUSED);
+ NUTS_CLOSE(s1);
}
void
@@ -277,23 +265,23 @@ test_late_connection(void)
nng_socket s2;
char * a = "inproc://asy";
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_pair1_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMINT, 10));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMAXT, 10));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMINT, 10));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECONNMAXT, 10));
- TEST_NNG_PASS(nng_dial(s1, a, NULL, NNG_FLAG_NONBLOCK));
- TEST_NNG_PASS(nng_listen(s2, a, NULL, 0));
+ NUTS_PASS(nng_dial(s1, a, NULL, NNG_FLAG_NONBLOCK));
+ NUTS_PASS(nng_listen(s2, a, NULL, 0));
nng_msleep(100);
- TEST_NNG_PASS(nng_send(s1, "abc", 4, 0));
- TEST_NNG_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
- TEST_CHECK(sz == 4);
- TEST_CHECK(memcmp(buf, "abc", 4) == 0);
+ NUTS_PASS(nng_send(s1, "abc", 4, 0));
+ NUTS_PASS(nng_recv(s2, &buf, &sz, NNG_FLAG_ALLOC));
+ NUTS_TRUE(sz == 4);
+ NUTS_TRUE(memcmp(buf, "abc", 4) == 0);
nng_free(buf, sz);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
@@ -305,26 +293,26 @@ test_address_busy(void)
nng_socket s1;
nng_socket s2;
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_PASS(nng_pair1_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- TEST_CHECK(nng_listener_id(l) < 0);
- TEST_NNG_PASS(nng_listen(s1, a, &l, 0));
- TEST_CHECK(nng_listener_id(l) > 0);
+ NUTS_TRUE(nng_listener_id(l) < 0);
+ NUTS_PASS(nng_listen(s1, a, &l, 0));
+ NUTS_TRUE(nng_listener_id(l) > 0);
// Cannot start another one.
- TEST_NNG_FAIL(nng_listen(s1, a, NULL, 0), NNG_EADDRINUSE);
+ NUTS_FAIL(nng_listen(s1, a, NULL, 0), NNG_EADDRINUSE);
// We can't restart it -- it's already running
- TEST_NNG_FAIL(nng_listener_start(l, 0), NNG_ESTATE);
+ NUTS_FAIL(nng_listener_start(l, 0), NNG_ESTATE);
// We can connect to it.
- TEST_CHECK(nng_dialer_id(d) < 0);
- TEST_NNG_PASS(nng_dial(s2, a, &d, 0));
- TEST_CHECK(nng_dialer_id(d) > 0);
+ NUTS_TRUE(nng_dialer_id(d) < 0);
+ NUTS_PASS(nng_dial(s2, a, &d, 0));
+ NUTS_TRUE(nng_dialer_id(d) > 0);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
@@ -338,29 +326,29 @@ test_endpoint_types(void)
char * a = "inproc://mumble...";
bool b;
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
- TEST_CHECK(nng_dialer_id(d) < 0);
- TEST_NNG_PASS(nng_dialer_create(&d, s1, a));
- TEST_CHECK(nng_dialer_id(d) > 0);
+ NUTS_TRUE(nng_dialer_id(d) < 0);
+ NUTS_PASS(nng_dialer_create(&d, s1, a));
+ NUTS_TRUE(nng_dialer_id(d) > 0);
// Forge a listener
l2.id = nng_dialer_id(d);
- TEST_NNG_FAIL(nng_listener_get_bool(l2, NNG_OPT_RAW, &b), NNG_ENOENT);
- TEST_NNG_FAIL(nng_listener_close(l2), NNG_ENOENT);
- TEST_NNG_PASS(nng_dialer_close(d));
+ NUTS_FAIL(nng_listener_get_bool(l2, NNG_OPT_RAW, &b), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_close(l2), NNG_ENOENT);
+ NUTS_PASS(nng_dialer_close(d));
- TEST_CHECK(nng_listener_id(l) < 0);
- TEST_NNG_PASS(nng_listener_create(&l, s1, a));
- TEST_CHECK(nng_listener_id(l) > 0);
+ NUTS_TRUE(nng_listener_id(l) < 0);
+ NUTS_PASS(nng_listener_create(&l, s1, a));
+ NUTS_TRUE(nng_listener_id(l) > 0);
// Forge a dialer
d2.id = nng_listener_id(l);
- TEST_NNG_FAIL(nng_dialer_get_bool(d2, NNG_OPT_RAW, &b), NNG_ENOENT);
- TEST_NNG_FAIL(nng_dialer_close(d2), NNG_ENOENT);
- TEST_NNG_PASS(nng_listener_close(l));
+ NUTS_FAIL(nng_dialer_get_bool(d2, NNG_OPT_RAW, &b), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_close(d2), NNG_ENOENT);
+ NUTS_PASS(nng_listener_close(l));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -368,10 +356,10 @@ test_bad_url(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair1_open(&s1));
- TEST_NNG_FAIL(nng_dial(s1, "bogus://1", NULL, 0), NNG_ENOTSUP);
- TEST_NNG_FAIL(nng_listen(s1, "bogus://2", NULL, 0), NNG_ENOTSUP);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_OPEN(s1);
+ NUTS_FAIL(nng_dial(s1, "bogus://1", NULL, 0), NNG_ENOTSUP);
+ NUTS_FAIL(nng_listen(s1, "bogus://2", NULL, 0), NNG_ENOTSUP);
+ NUTS_CLOSE(s1);
}
void
@@ -383,25 +371,24 @@ test_url_option(void)
nng_dialer d;
size_t sz;
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
// Listener
- TEST_NNG_PASS(nng_listener_create(&l, s1, "inproc://url1"));
+ NUTS_PASS(nng_listener_create(&l, s1, "inproc://url1"));
memset(url, 0, sizeof(url));
sz = sizeof(url);
- TEST_NNG_PASS(nng_listener_get(l, NNG_OPT_URL, url, &sz));
- TEST_STREQUAL(url, "inproc://url1");
- TEST_NNG_FAIL(
- nng_listener_set(l, NNG_OPT_URL, url, sz), NNG_EREADONLY);
+ NUTS_PASS(nng_listener_get(l, NNG_OPT_URL, url, &sz));
+ NUTS_MATCH(url, "inproc://url1");
+ NUTS_FAIL(nng_listener_set(l, NNG_OPT_URL, url, sz), NNG_EREADONLY);
sz = sizeof(url);
// Dialer
- TEST_NNG_PASS(nng_dialer_create(&d, s1, "inproc://url2"));
- TEST_NNG_PASS(nng_dialer_get(d, NNG_OPT_URL, url, &sz));
- TEST_STREQUAL(url, "inproc://url2");
- TEST_NNG_FAIL(nng_dialer_set(d, NNG_OPT_URL, url, sz), NNG_EREADONLY);
+ NUTS_PASS(nng_dialer_create(&d, s1, "inproc://url2"));
+ NUTS_PASS(nng_dialer_get(d, NNG_OPT_URL, url, &sz));
+ NUTS_MATCH(url, "inproc://url2");
+ NUTS_FAIL(nng_dialer_set(d, NNG_OPT_URL, url, sz), NNG_EREADONLY);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -411,56 +398,53 @@ test_listener_options(void)
nng_listener l;
size_t sz;
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
#ifndef NNG_ELIDE_DEPRECATED
// Create a listener with the specified options
- TEST_NNG_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543));
- TEST_NNG_PASS(nng_listener_create(&l, s1, "inproc://listener_opts"));
- TEST_NNG_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 543);
+ NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543));
+ NUTS_PASS(nng_listener_create(&l, s1, "inproc://listener_opts"));
+ NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 543);
// Verify endpoint overrides
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678));
- TEST_NNG_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 678);
- TEST_NNG_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 543);
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678));
+ NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 678);
+ NUTS_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 543);
// And socket overrides again
- TEST_NNG_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911));
- TEST_NNG_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 911);
+ NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911));
+ NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 911);
#else
- TEST_NNG_PASS(nng_listener_create(&l, s1, "inproc://listener_opts"));
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678));
- TEST_NNG_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 678);
+ NUTS_PASS(nng_listener_create(&l, s1, "inproc://listener_opts"));
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 678));
+ NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 678);
#endif
// Cannot set invalid options
- TEST_NNG_FAIL(nng_listener_set_size(l, "BAD_OPT", 1), NNG_ENOTSUP);
- TEST_NNG_FAIL(
+ NUTS_FAIL(nng_listener_set_size(l, "BAD_OPT", 1), NNG_ENOTSUP);
+ NUTS_FAIL(
nng_listener_set_bool(l, NNG_OPT_RECVMAXSZ, true), NNG_EBADTYPE);
- TEST_NNG_FAIL(
- nng_listener_set(l, NNG_OPT_RECVMAXSZ, &sz, 1), NNG_EINVAL);
+ NUTS_FAIL(nng_listener_set(l, NNG_OPT_RECVMAXSZ, &sz, 1), NNG_EINVAL);
// Cannot set inappropriate options
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listener_set_string(l, NNG_OPT_SOCKNAME, "1"), NNG_ENOTSUP);
- TEST_NNG_FAIL(
- nng_listener_set_bool(l, NNG_OPT_RAW, true), NNG_ENOTSUP);
- TEST_NNG_FAIL(
- nng_listener_set_ms(l, NNG_OPT_RECONNMINT, 1), NNG_ENOTSUP);
- TEST_NNG_FAIL(nng_listener_set_string(l, NNG_OPT_SOCKNAME, "bogus"),
+ NUTS_FAIL(nng_listener_set_bool(l, NNG_OPT_RAW, true), NNG_ENOTSUP);
+ NUTS_FAIL(nng_listener_set_ms(l, NNG_OPT_RECONNMINT, 1), NNG_ENOTSUP);
+ NUTS_FAIL(nng_listener_set_string(l, NNG_OPT_SOCKNAME, "bogus"),
NNG_ENOTSUP);
// Read only options
- TEST_NNG_FAIL(nng_listener_set_string(l, NNG_OPT_URL, "inproc://junk"),
+ NUTS_FAIL(nng_listener_set_string(l, NNG_OPT_URL, "inproc://junk"),
NNG_EREADONLY);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -470,54 +454,53 @@ test_dialer_options(void)
nng_dialer d;
size_t sz;
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
#ifndef NNG_ELIDE_DEPRECATED
// NOTE: This test will fail if eliding deprecated behavior.
// Create a dialer with the specified options
- TEST_NNG_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543));
- TEST_NNG_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts"));
- TEST_NNG_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 543);
+ NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 543));
+ NUTS_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts"));
+ NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 543);
// Verify endpoint overrides
- TEST_NNG_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678));
- TEST_NNG_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 678);
- TEST_NNG_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 543);
+ NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678));
+ NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 678);
+ NUTS_PASS(nng_socket_get_size(s1, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 543);
// And socket overrides again
- TEST_NNG_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911));
- TEST_NNG_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 911);
+ NUTS_PASS(nng_socket_set_size(s1, NNG_OPT_RECVMAXSZ, 911));
+ NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 911);
#else
- TEST_NNG_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts"));
- TEST_NNG_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678));
- TEST_NNG_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 678);
+ NUTS_PASS(nng_dialer_create(&d, s1, "inproc://dialer_opts"));
+ NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 678));
+ NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 678);
#endif
// Cannot set invalid options
- TEST_NNG_FAIL(nng_dialer_set_size(d, "BAD_OPT", 1), NNG_ENOTSUP);
- TEST_NNG_FAIL(
+ NUTS_FAIL(nng_dialer_set_size(d, "BAD_OPT", 1), NNG_ENOTSUP);
+ NUTS_FAIL(
nng_dialer_set_bool(d, NNG_OPT_RECVMAXSZ, true), NNG_EBADTYPE);
- TEST_NNG_FAIL(
- nng_dialer_set(d, NNG_OPT_RECVMAXSZ, &sz, 1), NNG_EINVAL);
+ NUTS_FAIL(nng_dialer_set(d, NNG_OPT_RECVMAXSZ, &sz, 1), NNG_EINVAL);
// Cannot set inappropriate options
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dialer_set_string(d, NNG_OPT_SOCKNAME, "1"), NNG_ENOTSUP);
- TEST_NNG_FAIL(nng_dialer_set_bool(d, NNG_OPT_RAW, true), NNG_ENOTSUP);
- TEST_NNG_FAIL(nng_dialer_set_ms(d, NNG_OPT_SENDTIMEO, 1), NNG_ENOTSUP);
- TEST_NNG_FAIL(
+ NUTS_FAIL(nng_dialer_set_bool(d, NNG_OPT_RAW, true), NNG_ENOTSUP);
+ NUTS_FAIL(nng_dialer_set_ms(d, NNG_OPT_SENDTIMEO, 1), NNG_ENOTSUP);
+ NUTS_FAIL(
nng_dialer_set_string(d, NNG_OPT_SOCKNAME, "bogus"), NNG_ENOTSUP);
// Read only options
- TEST_NNG_FAIL(nng_dialer_set_string(d, NNG_OPT_URL, "inproc://junk"),
+ NUTS_FAIL(nng_dialer_set_string(d, NNG_OPT_URL, "inproc://junk"),
NNG_EREADONLY);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -532,25 +515,20 @@ test_endpoint_absent_options(void)
d.id = 1999;
l.id = 1999;
- TEST_NNG_FAIL(
- nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 10), NNG_ENOENT);
- TEST_NNG_FAIL(
- nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 10), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, 10), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 10), NNG_ENOENT);
- TEST_NNG_FAIL(nng_dialer_get_bool(d, NNG_OPT_RAW, &b), NNG_ENOENT);
- TEST_NNG_FAIL(nng_listener_get_bool(l, NNG_OPT_RAW, &b), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_get_bool(d, NNG_OPT_RAW, &b), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_get_bool(l, NNG_OPT_RAW, &b), NNG_ENOENT);
- TEST_NNG_FAIL(
- nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &s), NNG_ENOENT);
- TEST_NNG_FAIL(
- nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &s), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &s), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &s), NNG_ENOENT);
- TEST_NNG_FAIL(nng_dialer_get_int(d, NNG_OPT_RAW, &i), NNG_ENOENT);
- TEST_NNG_FAIL(nng_listener_get_int(l, NNG_OPT_RAW, &i), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_get_int(d, NNG_OPT_RAW, &i), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_get_int(l, NNG_OPT_RAW, &i), NNG_ENOENT);
- TEST_NNG_FAIL(nng_dialer_get_ms(d, NNG_OPT_RECVTIMEO, &t), NNG_ENOENT);
- TEST_NNG_FAIL(
- nng_listener_get_ms(l, NNG_OPT_SENDTIMEO, &t), NNG_ENOENT);
+ NUTS_FAIL(nng_dialer_get_ms(d, NNG_OPT_RECVTIMEO, &t), NNG_ENOENT);
+ NUTS_FAIL(nng_listener_get_ms(l, NNG_OPT_SENDTIMEO, &t), NNG_ENOENT);
}
void
@@ -568,44 +546,40 @@ test_timeout_options(void)
NULL,
};
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
for (int i = 0; cases[i] != NULL; i++) {
bool b;
TEST_CASE(cases[i]);
// Can't receive a duration into zero bytes.
sz = 0;
- TEST_NNG_FAIL(
- nng_socket_get(s1, cases[i], &to, &sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_get(s1, cases[i], &to, &sz), NNG_EINVAL);
// Type mismatches
- TEST_NNG_FAIL(
- nng_socket_get_bool(s1, cases[i], &b), NNG_EBADTYPE);
+ NUTS_FAIL(nng_socket_get_bool(s1, cases[i], &b), NNG_EBADTYPE);
sz = 1;
- TEST_NNG_FAIL(
- nng_socket_get(s1, cases[i], &b, &sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_get(s1, cases[i], &b, &sz), NNG_EINVAL);
// Can set a valid duration
- TEST_NNG_PASS(nng_socket_set_ms(s1, cases[i], 1234));
- TEST_NNG_PASS(nng_socket_get_ms(s1, cases[i], &to));
- TEST_CHECK(to == 1234);
+ NUTS_PASS(nng_socket_set_ms(s1, cases[i], 1234));
+ NUTS_PASS(nng_socket_get_ms(s1, cases[i], &to));
+ NUTS_TRUE(to == 1234);
to = 0;
sz = sizeof(to);
- TEST_NNG_PASS(nng_socket_get(s1, cases[i], &to, &sz));
- TEST_CHECK(to == 1234);
- TEST_CHECK(sz == sizeof(to));
+ NUTS_PASS(nng_socket_get(s1, cases[i], &to, &sz));
+ NUTS_TRUE(to == 1234);
+ NUTS_TRUE(sz == sizeof(to));
// Can't set a negative duration
- TEST_NNG_FAIL(nng_socket_set_ms(s1, cases[i], -5), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set_ms(s1, cases[i], -5), NNG_EINVAL);
// Can't pass a buf too small for duration
sz = sizeof(to) - 1;
to = 1;
- TEST_NNG_FAIL(
- nng_socket_set(s1, cases[i], &to, sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, cases[i], &to, sz), NNG_EINVAL);
}
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -621,44 +595,44 @@ test_size_options(void)
NULL,
};
- TEST_NNG_PASS(nng_pair1_open(&s1));
+ NUTS_OPEN(s1);
for (int i = 0; (opt = cases[i]) != NULL; i++) {
TEST_CASE(opt);
// Can't receive a size into zero bytes.
sz = 0;
- TEST_NNG_FAIL(nng_socket_get(s1, opt, &val, &sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_get(s1, opt, &val, &sz), NNG_EINVAL);
// Can set a valid duration
- TEST_NNG_PASS(nng_socket_set_size(s1, opt, 1234));
- TEST_NNG_PASS(nng_socket_get_size(s1, opt, &val));
- TEST_CHECK(val == 1234);
+ NUTS_PASS(nng_socket_set_size(s1, opt, 1234));
+ NUTS_PASS(nng_socket_get_size(s1, opt, &val));
+ NUTS_TRUE(val == 1234);
val = 0;
sz = sizeof(val);
- TEST_NNG_PASS(nng_socket_get(s1, opt, &val, &sz));
- TEST_CHECK(val == 1234);
- TEST_CHECK(sz == sizeof(val));
+ NUTS_PASS(nng_socket_get(s1, opt, &val, &sz));
+ NUTS_TRUE(val == 1234);
+ NUTS_TRUE(sz == sizeof(val));
// Can't pass a buf too small for size
sz = sizeof(val) - 1;
val = 1;
- TEST_NNG_FAIL(nng_socket_set(s1, opt, &val, sz), NNG_EINVAL);
+ NUTS_FAIL(nng_socket_set(s1, opt, &val, sz), NNG_EINVAL);
// We limit the limit to 4GB. Clear it if you want to
// ship more than 4GB at a time.
#if defined(_WIN64) || defined(_LP64)
val = 0x10000u;
val <<= 30u;
- TEST_NNG_FAIL(nng_socket_set_size(s1, opt, val), NNG_EINVAL);
- TEST_NNG_PASS(nng_socket_get_size(s1, opt, &val));
- TEST_CHECK(val == 1234);
+ NUTS_FAIL(nng_socket_set_size(s1, opt, val), NNG_EINVAL);
+ NUTS_PASS(nng_socket_get_size(s1, opt, &val));
+ NUTS_TRUE(val == 1234);
#endif
}
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "recv timeout", test_recv_timeout },
{ "recv non-block", test_recv_nonblock },
{ "send timeout", test_send_timeout },
diff --git a/src/core/stats.c b/src/core/stats.c
index 85e7d030..e4765078 100644
--- a/src/core/stats.c
+++ b/src/core/stats.c
@@ -79,8 +79,8 @@ stat_unregister(nni_stat_item *item)
}
if ((item->si_info->si_alloc) &&
(item->si_info->si_type == NNG_STAT_STRING)) {
- nni_strfree(item->si_value.sv_string);
- item->si_value.sv_string = NULL;
+ nni_strfree(item->si_u.sv_string);
+ item->si_u.sv_string = NULL;
}
nni_list_node_remove(&item->si_node);
}
@@ -116,9 +116,9 @@ nni_stat_inc(nni_stat_item *item, uint64_t inc)
{
#ifdef NNG_ENABLE_STATS
if (item->si_info->si_atomic) {
- nni_atomic_add64(&item->si_value.sv_atomic, inc);
+ nni_atomic_add64(&item->si_u.sv_atomic, inc);
} else {
- item->si_value.sv_number += inc;
+ item->si_u.sv_number += inc;
}
#else
NNI_ARG_UNUSED(item);
@@ -132,9 +132,9 @@ nni_stat_dec(nni_stat_item *item, uint64_t inc)
#ifdef NNG_ENABLE_STATS
if (item->si_info->si_atomic) {
- nni_atomic_sub64(&item->si_value.sv_atomic, inc);
+ nni_atomic_sub64(&item->si_u.sv_atomic, inc);
} else {
- item->si_value.sv_number -= inc;
+ item->si_u.sv_number -= inc;
}
#else
NNI_ARG_UNUSED(item);
@@ -147,7 +147,7 @@ nni_stat_set_id(nni_stat_item *item, int id)
{
#ifdef NNG_ENABLE_STATS
// IDs don't change, so just set it.
- item->si_value.sv_id = id;
+ item->si_u.sv_id = id;
#else
NNI_ARG_UNUSED(item);
NNI_ARG_UNUSED(id);
@@ -159,7 +159,7 @@ nni_stat_set_bool(nni_stat_item *item, bool b)
{
#ifdef NNG_ENABLE_STATS
// bool is atomic by definitions.
- item->si_value.sv_bool = b;
+ item->si_u.sv_bool = b;
#else
NNI_ARG_UNUSED(item);
NNI_ARG_UNUSED(b);
@@ -171,7 +171,7 @@ nni_stat_set_string(nni_stat_item *item, const char *s)
{
#ifdef NNG_ENABLE_STATS
const nni_stat_info *info = item->si_info;
- char * old = item->si_value.sv_string;
+ char * old = item->si_u.sv_string;
nni_mtx_lock(&stats_val_lock);
if ((s != NULL) && (old != NULL) && (strcmp(s, old) == 0)) {
@@ -182,12 +182,12 @@ nni_stat_set_string(nni_stat_item *item, const char *s)
if (!info->si_alloc) {
// no allocation, just set it.
- item->si_value.sv_string = (char *) s;
+ item->si_u.sv_string = (char *) s;
nni_mtx_unlock(&stats_val_lock);
return;
}
- item->si_value.sv_string = nni_strdup(s);
+ item->si_u.sv_string = nni_strdup(s);
nni_mtx_unlock(&stats_val_lock);
nni_strfree(old);
@@ -202,9 +202,9 @@ nni_stat_set_value(nni_stat_item *item, uint64_t v)
{
#ifdef NNG_ENABLE_STATS
if (item->si_info->si_atomic) {
- nni_atomic_set64(&item->si_value.sv_atomic, v);
+ nni_atomic_set64(&item->si_u.sv_atomic, v);
} else {
- item->si_value.sv_number = v;
+ item->si_u.sv_number = v;
}
#else
NNI_ARG_UNUSED(item);
@@ -272,24 +272,24 @@ stat_update(nni_stat *stat)
switch (info->si_type) {
case NNG_STAT_SCOPE:
case NNG_STAT_ID:
- stat->s_val.sv_id = item->si_value.sv_id;
+ stat->s_val.sv_id = item->si_u.sv_id;
break;
case NNG_STAT_BOOLEAN:
- stat->s_val.sv_bool = item->si_value.sv_bool;
+ stat->s_val.sv_bool = item->si_u.sv_bool;
break;
case NNG_STAT_COUNTER:
case NNG_STAT_LEVEL:
if (info->si_atomic) {
stat->s_val.sv_value = nni_atomic_get64(
- (nni_atomic_u64 *) &item->si_value.sv_atomic);
+ (nni_atomic_u64 *) &item->si_u.sv_atomic);
} else {
- stat->s_val.sv_value = item->si_value.sv_number;
+ stat->s_val.sv_value = item->si_u.sv_number;
}
break;
case NNG_STAT_STRING:
nni_mtx_lock(&stats_val_lock);
old = stat->s_val.sv_string;
- str = item->si_value.sv_string;
+ str = item->si_u.sv_string;
// If we have to allocate a new string, do so. But
// only do it if new string is different.
diff --git a/src/core/stats.h b/src/core/stats.h
index 950df78f..de1879ca 100644
--- a/src/core/stats.h
+++ b/src/core/stats.h
@@ -14,7 +14,7 @@
#include "core/defs.h"
// Statistics support. This is inspired in part by the Solaris
-// kstats framework, but we've simplified and tuned it for our use.
+// kernel stats framework, but we've simplified and tuned it for our use.
//
// Collection of the stats will be done in two steps. First we
// will walk the list of stats, with the chain held, allocating
@@ -45,7 +45,7 @@ struct nni_stat_item {
char * sv_string;
bool sv_bool;
int sv_id;
- } si_value;
+ } si_u;
};
struct nni_stat_info {
diff --git a/src/core/url_test.c b/src/core/url_test.c
index 847b7df3..6504ff6c 100644
--- a/src/core/url_test.c
+++ b/src/core/url_test.c
@@ -1,5 +1,5 @@
//
-// Copyright 2018 Staysail Systems, Inc. <info@staysail.tech>
+// Copyright 2020 Staysail Systems, Inc. <info@staysail.tech>
// Copyright 2018 Capitar IT Group BV <info@capitar.com>
//
// This software is supplied under the terms of the MIT License, a
@@ -8,33 +8,26 @@
// found online at https://opensource.org/licenses/MIT.
//
-
-#include "acutest.h"
-
+#include "nng_impl.h"
+#include <nuts.h>
#include <string.h>
-#include <nng/nng.h>
-
-#include "core/url.h"
-
-#include "testutil.h"
-
void
test_url_host(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://www.google.com"));
- TEST_ASSERT(url != NULL);
- TEST_CHECK(strcmp(url->u_scheme, "http") == 0);
- TEST_CHECK(strcmp(url->u_host, "www.google.com") == 0);
- TEST_CHECK(strcmp(url->u_hostname, "www.google.com") == 0);
- TEST_CHECK(strcmp(url->u_port, "80") == 0);
- TEST_CHECK(strcmp(url->u_path, "") == 0);
- TEST_CHECK(strcmp(url->u_requri, "") == 0);
- TEST_CHECK(url->u_query == NULL);
- TEST_CHECK(url->u_fragment == NULL);
- TEST_CHECK(url->u_userinfo == NULL);
+ NUTS_PASS(nng_url_parse(&url, "http://www.google.com"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_TRUE(strcmp(url->u_scheme, "http") == 0);
+ NUTS_TRUE(strcmp(url->u_host, "www.google.com") == 0);
+ NUTS_TRUE(strcmp(url->u_hostname, "www.google.com") == 0);
+ NUTS_TRUE(strcmp(url->u_port, "80") == 0);
+ NUTS_TRUE(strcmp(url->u_path, "") == 0);
+ NUTS_TRUE(strcmp(url->u_requri, "") == 0);
+ NUTS_TRUE(url->u_query == NULL);
+ NUTS_TRUE(url->u_fragment == NULL);
+ NUTS_TRUE(url->u_userinfo == NULL);
nng_url_free(url);
}
@@ -42,17 +35,17 @@ void
test_url_host_port(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://www.google.com:1234"));
- TEST_ASSERT(url != NULL);
- TEST_CHECK(strcmp(url->u_scheme, "http") == 0);
- TEST_CHECK(strcmp(url->u_host, "www.google.com:1234") == 0);
- TEST_CHECK(strcmp(url->u_hostname, "www.google.com") == 0);
- TEST_CHECK(strcmp(url->u_port, "1234") == 0);
- TEST_CHECK(strcmp(url->u_path, "") == 0);
- TEST_CHECK(strcmp(url->u_requri, "") == 0);
- TEST_CHECK(url->u_query == NULL);
- TEST_CHECK(url->u_fragment == NULL);
- TEST_CHECK(url->u_userinfo == NULL);
+ NUTS_PASS(nng_url_parse(&url, "http://www.google.com:1234"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_TRUE(strcmp(url->u_scheme, "http") == 0);
+ NUTS_TRUE(strcmp(url->u_host, "www.google.com:1234") == 0);
+ NUTS_TRUE(strcmp(url->u_hostname, "www.google.com") == 0);
+ NUTS_TRUE(strcmp(url->u_port, "1234") == 0);
+ NUTS_TRUE(strcmp(url->u_path, "") == 0);
+ NUTS_TRUE(strcmp(url->u_requri, "") == 0);
+ NUTS_TRUE(url->u_query == NULL);
+ NUTS_TRUE(url->u_fragment == NULL);
+ NUTS_TRUE(url->u_userinfo == NULL);
nng_url_free(url);
}
@@ -61,18 +54,18 @@ test_url_host_port_path(void)
{
nng_url *url;
- TEST_NNG_PASS(
+ NUTS_PASS(
nng_url_parse(&url, "http://www.google.com:1234/somewhere"));
- TEST_ASSERT(url != NULL);
- TEST_CHECK(strcmp(url->u_scheme, "http") == 0);
- TEST_CHECK(strcmp(url->u_host, "www.google.com:1234") == 0);
- TEST_CHECK(strcmp(url->u_hostname, "www.google.com") == 0);
- TEST_CHECK(strcmp(url->u_port, "1234") == 0);
- TEST_CHECK(strcmp(url->u_path, "/somewhere") == 0);
- TEST_CHECK(strcmp(url->u_requri, "/somewhere") == 0);
- TEST_CHECK(url->u_userinfo == NULL);
- TEST_CHECK(url->u_query == NULL);
- TEST_CHECK(url->u_fragment == NULL);
+ NUTS_ASSERT(url != NULL);
+ NUTS_TRUE(strcmp(url->u_scheme, "http") == 0);
+ NUTS_TRUE(strcmp(url->u_host, "www.google.com:1234") == 0);
+ NUTS_TRUE(strcmp(url->u_hostname, "www.google.com") == 0);
+ NUTS_TRUE(strcmp(url->u_port, "1234") == 0);
+ NUTS_TRUE(strcmp(url->u_path, "/somewhere") == 0);
+ NUTS_TRUE(strcmp(url->u_requri, "/somewhere") == 0);
+ NUTS_TRUE(url->u_userinfo == NULL);
+ NUTS_TRUE(url->u_query == NULL);
+ NUTS_TRUE(url->u_fragment == NULL);
nng_url_free(url);
}
@@ -80,18 +73,18 @@ void
test_url_user_info(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(
+ NUTS_PASS(nng_url_parse(
&url, "http://garrett@www.google.com:1234/somewhere"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_userinfo, "garrett");
- TEST_STREQUAL(url->u_host, "www.google.com:1234");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_port, "1234");
- TEST_STREQUAL(url->u_path, "/somewhere");
- TEST_STREQUAL(url->u_requri, "/somewhere");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_userinfo, "garrett");
+ NUTS_MATCH(url->u_host, "www.google.com:1234");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_port, "1234");
+ NUTS_MATCH(url->u_path, "/somewhere");
+ NUTS_MATCH(url->u_requri, "/somewhere");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
nng_url_free(url);
}
@@ -99,18 +92,18 @@ void
test_url_path_query_param(void)
{
nng_url *url;
- TEST_NNG_PASS(
+ NUTS_PASS(
nng_url_parse(&url, "http://www.google.com/somewhere?result=yes"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "www.google.com");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/somewhere");
- TEST_STREQUAL(url->u_query, "result=yes");
- TEST_STREQUAL(url->u_requri, "/somewhere?result=yes");
- TEST_NULL(url->u_userinfo);
- TEST_NULL(url->u_fragment);
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "www.google.com");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/somewhere");
+ NUTS_MATCH(url->u_query, "result=yes");
+ NUTS_MATCH(url->u_requri, "/somewhere?result=yes");
+ NUTS_NULL(url->u_userinfo);
+ NUTS_NULL(url->u_fragment);
nng_url_free(url);
}
@@ -118,19 +111,19 @@ void
test_url_query_param_anchor(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url,
+ NUTS_PASS(nng_url_parse(&url,
"http://www.google.com/"
"somewhere?result=yes#chapter1"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "www.google.com");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/somewhere");
- TEST_STREQUAL(url->u_query, "result=yes");
- TEST_STREQUAL(url->u_fragment, "chapter1");
- TEST_STREQUAL(url->u_requri, "/somewhere?result=yes#chapter1");
- TEST_NULL(url->u_userinfo);
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "www.google.com");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/somewhere");
+ NUTS_MATCH(url->u_query, "result=yes");
+ NUTS_MATCH(url->u_fragment, "chapter1");
+ NUTS_MATCH(url->u_requri, "/somewhere?result=yes#chapter1");
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -138,18 +131,18 @@ void
test_url_path_anchor(void)
{
nng_url *url;
- TEST_NNG_PASS(
+ NUTS_PASS(
nng_url_parse(&url, "http://www.google.com/somewhere#chapter2"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "www.google.com");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/somewhere");
- TEST_STREQUAL(url->u_fragment, "chapter2");
- TEST_STREQUAL(url->u_requri, "/somewhere#chapter2");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_userinfo);
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "www.google.com");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/somewhere");
+ NUTS_MATCH(url->u_fragment, "chapter2");
+ NUTS_MATCH(url->u_requri, "/somewhere#chapter2");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -157,17 +150,17 @@ void
test_url_anchor(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://www.google.com#chapter3"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "www.google.com");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_fragment, "chapter3");
- TEST_STREQUAL(url->u_requri, "#chapter3");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "http://www.google.com#chapter3"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "www.google.com");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_fragment, "chapter3");
+ NUTS_MATCH(url->u_requri, "#chapter3");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -175,17 +168,17 @@ void
test_url_query_param(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://www.google.com?color=red"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "www.google.com");
- TEST_STREQUAL(url->u_hostname, "www.google.com");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_query, "color=red");
- TEST_STREQUAL(url->u_requri, "?color=red");
- TEST_ASSERT(url != NULL);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "http://www.google.com?color=red"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "www.google.com");
+ NUTS_MATCH(url->u_hostname, "www.google.com");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_query, "color=red");
+ NUTS_MATCH(url->u_requri, "?color=red");
+ NUTS_ASSERT(url != NULL);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -193,16 +186,16 @@ void
test_url_v6_host(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://[::1]"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "[::1]");
- TEST_STREQUAL(url->u_hostname, "::1");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "80");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "http://[::1]"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "[::1]");
+ NUTS_MATCH(url->u_hostname, "::1");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -210,16 +203,16 @@ void
test_url_v6_host_port(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://[::1]:29"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "[::1]:29");
- TEST_STREQUAL(url->u_hostname, "::1");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "29");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "http://[::1]:29"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "[::1]:29");
+ NUTS_MATCH(url->u_hostname, "::1");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "29");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -227,16 +220,16 @@ void
test_url_v6_host_port_path(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "http://[::1]:29/bottles"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_host, "[::1]:29");
- TEST_STREQUAL(url->u_hostname, "::1");
- TEST_STREQUAL(url->u_path, "/bottles");
- TEST_STREQUAL(url->u_port, "29");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "http://[::1]:29/bottles"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_host, "[::1]:29");
+ NUTS_MATCH(url->u_hostname, "::1");
+ NUTS_MATCH(url->u_path, "/bottles");
+ NUTS_MATCH(url->u_port, "29");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -244,16 +237,16 @@ void
test_url_tcp_port(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "tcp://:9876/"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "tcp");
- TEST_STREQUAL(url->u_host, ":9876");
- TEST_STREQUAL(url->u_hostname, "");
- TEST_STREQUAL(url->u_path, "/");
- TEST_STREQUAL(url->u_port, "9876");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "tcp://:9876/"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "tcp");
+ NUTS_MATCH(url->u_host, ":9876");
+ NUTS_MATCH(url->u_hostname, "");
+ NUTS_MATCH(url->u_path, "/");
+ NUTS_MATCH(url->u_port, "9876");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -262,16 +255,16 @@ test_url_bare_ws(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "ws://"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "ws");
- TEST_STREQUAL(url->u_host, "");
- TEST_STREQUAL(url->u_hostname, "");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "80");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "ws://"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "ws");
+ NUTS_MATCH(url->u_host, "");
+ NUTS_MATCH(url->u_hostname, "");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -279,16 +272,16 @@ void
test_url_ws_wildcard(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "ws://*:12345/foobar"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "ws");
- TEST_STREQUAL(url->u_host, ":12345");
- TEST_STREQUAL(url->u_hostname, "");
- TEST_STREQUAL(url->u_path, "/foobar");
- TEST_STREQUAL(url->u_port, "12345");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_NULL(url->u_userinfo);
+ NUTS_PASS(nng_url_parse(&url, "ws://*:12345/foobar"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "ws");
+ NUTS_MATCH(url->u_host, ":12345");
+ NUTS_MATCH(url->u_hostname, "");
+ NUTS_MATCH(url->u_path, "/foobar");
+ NUTS_MATCH(url->u_port, "12345");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_NULL(url->u_userinfo);
nng_url_free(url);
}
@@ -296,16 +289,16 @@ void
test_url_ssh(void)
{
nng_url *url;
- TEST_NNG_PASS(nng_url_parse(&url, "ssh://user@host.example.com"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "ssh");
- TEST_STREQUAL(url->u_host, "host.example.com");
- TEST_STREQUAL(url->u_hostname, "host.example.com");
- TEST_STREQUAL(url->u_path, "");
- TEST_STREQUAL(url->u_port, "22");
- TEST_NULL(url->u_query);
- TEST_NULL(url->u_fragment);
- TEST_STREQUAL(url->u_userinfo, "user");
+ NUTS_PASS(nng_url_parse(&url, "ssh://user@host.example.com"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "ssh");
+ NUTS_MATCH(url->u_host, "host.example.com");
+ NUTS_MATCH(url->u_hostname, "host.example.com");
+ NUTS_MATCH(url->u_path, "");
+ NUTS_MATCH(url->u_port, "22");
+ NUTS_NULL(url->u_query);
+ NUTS_NULL(url->u_fragment);
+ NUTS_MATCH(url->u_userinfo, "user");
nng_url_free(url);
}
@@ -313,33 +306,33 @@ void
test_url_bad_scheme(void)
{
nng_url *url = NULL;
- TEST_NNG_FAIL(nng_url_parse(&url, "www.google.com"), NNG_EINVAL);
- TEST_NULL(url);
- TEST_NNG_FAIL(nng_url_parse(&url, "http:www.google.com"), NNG_EINVAL);
- TEST_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "www.google.com"), NNG_EINVAL);
+ NUTS_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "http:www.google.com"), NNG_EINVAL);
+ NUTS_NULL(url);
}
void
test_url_bad_ipv6(void)
{
nng_url *url = NULL;
- TEST_NNG_FAIL(nng_url_parse(&url, "http://[::1"), NNG_EINVAL);
- TEST_NULL(url);
- TEST_NNG_FAIL(nng_url_parse(&url, "http://[::1]bogus"), NNG_EINVAL);
- TEST_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "http://[::1"), NNG_EINVAL);
+ NUTS_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "http://[::1]bogus"), NNG_EINVAL);
+ NUTS_NULL(url);
}
void
test_url_canonify(void)
{
nng_url *url = NULL;
- TEST_NNG_PASS(nng_url_parse(
+ NUTS_PASS(nng_url_parse(
&url, "hTTp://www.EXAMPLE.com/bogus/.%2e/%7egarrett"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_hostname, "www.example.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/~garrett");
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_hostname, "www.example.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/~garrett");
nng_url_free(url);
}
@@ -347,12 +340,12 @@ void
test_url_path_resolve(void)
{
nng_url *url = NULL;
- TEST_NNG_PASS(
+ NUTS_PASS(
nng_url_parse(&url, "http://www.x.com//abc/def/./x/..///./../y"));
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_hostname, "www.x.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/abc/y");
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_hostname, "www.x.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/abc/y");
nng_url_free(url);
}
@@ -360,14 +353,14 @@ void
test_url_query_info_pass(void)
{
nng_url *url = NULL;
- TEST_NNG_PASS(
+ NUTS_PASS(
nng_url_parse(&url, "http://www.x.com/?/abc/def/./x/.././../y"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_hostname, "www.x.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/");
- TEST_STREQUAL(url->u_query, "/abc/def/./x/.././../y");
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_hostname, "www.x.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/");
+ NUTS_MATCH(url->u_query, "/abc/def/./x/.././../y");
nng_url_free(url);
}
@@ -375,22 +368,22 @@ void
test_url_bad_utf8(void)
{
nng_url *url = NULL;
- TEST_NNG_FAIL(nng_url_parse(&url, "http://x.com/x%80x"), NNG_EINVAL);
- TEST_NULL(url);
- TEST_NNG_FAIL(nng_url_parse(&url, "http://x.com/x%c0%81"), NNG_EINVAL);
- TEST_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "http://x.com/x%80x"), NNG_EINVAL);
+ NUTS_NULL(url);
+ NUTS_FAIL(nng_url_parse(&url, "http://x.com/x%c0%81"), NNG_EINVAL);
+ NUTS_NULL(url);
}
void
test_url_good_utf8(void)
{
nng_url *url = NULL;
- TEST_NNG_PASS(nng_url_parse(&url, "http://www.x.com/%c2%a2_cents"));
- TEST_ASSERT(url != NULL);
- TEST_STREQUAL(url->u_scheme, "http");
- TEST_STREQUAL(url->u_hostname, "www.x.com");
- TEST_STREQUAL(url->u_port, "80");
- TEST_STREQUAL(url->u_path, "/\xc2\xa2_cents");
+ NUTS_PASS(nng_url_parse(&url, "http://www.x.com/%c2%a2_cents"));
+ NUTS_ASSERT(url != NULL);
+ NUTS_MATCH(url->u_scheme, "http");
+ NUTS_MATCH(url->u_hostname, "www.x.com");
+ NUTS_MATCH(url->u_port, "80");
+ NUTS_MATCH(url->u_path, "/\xc2\xa2_cents");
nng_url_free(url);
}
@@ -402,55 +395,55 @@ test_url_decode(void)
out[3] = 'x';
len = nni_url_decode(out, "abc", 3);
- TEST_CHECK(len == 3);
- TEST_CHECK(memcmp(out, "abc", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ NUTS_TRUE(len == 3);
+ NUTS_TRUE(memcmp(out, "abc", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
len = nni_url_decode(out, "x%00y", 3); // embedded NULL
- TEST_CHECK(len == 3);
- TEST_CHECK(memcmp(out, "x\x00y", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ NUTS_TRUE(len == 3);
+ NUTS_TRUE(memcmp(out, "x\x00y", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
len = nni_url_decode(out, "%3987", 3);
- TEST_CHECK(len == 3);
- TEST_CHECK(memcmp(out, "987", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ NUTS_TRUE(len == 3);
+ NUTS_TRUE(memcmp(out, "987", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
len = nni_url_decode(out, "78%39", 3);
- TEST_CHECK(len == 3);
- TEST_CHECK(memcmp(out, "789", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ NUTS_TRUE(len == 3);
+ NUTS_TRUE(memcmp(out, "789", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
- len = nni_url_decode(out, "", 5);
- TEST_CHECK(len == 0);
- TEST_CHECK(memcmp(out, "789", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ len = nni_url_decode(out, "", 5);
+ NUTS_TRUE(len == 0);
+ NUTS_TRUE(memcmp(out, "789", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
- len = nni_url_decode(out, "be", 2);
- TEST_CHECK(len == 2);
- TEST_CHECK(memcmp(out, "be9", 3) == 0);
- TEST_CHECK(out[3] == 'x');
+ len = nni_url_decode(out, "be", 2);
+ NUTS_TRUE(len == 2);
+ NUTS_TRUE(memcmp(out, "be9", 3) == 0);
+ NUTS_TRUE(out[3] == 'x');
- len = nni_url_decode(out, "78%39", 2);
- TEST_CHECK(len == (size_t) -1);
+ len = nni_url_decode(out, "78%39", 2);
+ NUTS_TRUE(len == (size_t) -1);
- len = nni_url_decode(out, "", 2);
- TEST_CHECK(len == 0);
+ len = nni_url_decode(out, "", 2);
+ NUTS_TRUE(len == 0);
- len = nni_url_decode(out, "78%", 5);
- TEST_CHECK(len == (size_t) -1);
+ len = nni_url_decode(out, "78%", 5);
+ NUTS_TRUE(len == (size_t) -1);
- len = nni_url_decode(out, "78%xy", 5);
- TEST_CHECK(len == (size_t) -1);
+ len = nni_url_decode(out, "78%xy", 5);
+ NUTS_TRUE(len == (size_t) -1);
- len = nni_url_decode(out, "78%1$", 5);
- TEST_CHECK(len == (size_t) -1);
+ len = nni_url_decode(out, "78%1$", 5);
+ NUTS_TRUE(len == (size_t) -1);
- len = nni_url_decode(out, "%%20", 5);
- TEST_CHECK(len == (size_t) -1);
+ len = nni_url_decode(out, "%%20", 5);
+ NUTS_TRUE(len == (size_t) -1);
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "url host", test_url_host },
{ "url host port", test_url_host_port },
{ "url host port path", test_url_host_port_path },