aboutsummaryrefslogtreecommitdiff
path: root/src/transport
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2020-11-21 22:11:21 -0800
committerGarrett D'Amore <garrett@damore.org>2020-11-23 22:20:12 -0800
commitd1218d7309475193b53911667911c4f59a1a7752 (patch)
tree6ea796998fb60d2cb8afa704faa77fe7fddd644c /src/transport
parentb826bfc171d90f8bde7bd672c0ac14201b8b2742 (diff)
downloadnng-d1218d7309475193b53911667911c4f59a1a7752.tar.gz
nng-d1218d7309475193b53911667911c4f59a1a7752.tar.bz2
nng-d1218d7309475193b53911667911c4f59a1a7752.zip
New NUTS test framework (NNG Unit Test Support).
This is based on testutil/acutest, but is cleaner and fixes some short-comings. We will be adding more support for additional common paradigms to better facilitate transport tests. While here we added some more test cases, and fixed a possible symbol collision in the the stats framework (due to Linux use of a macro definition of "si_value" in a standard OS header). Test coverage may regress slightly as we are no longer using some of the legacy APIs.
Diffstat (limited to 'src/transport')
-rw-r--r--src/transport/ipc/ipc_test.c329
-rw-r--r--src/transport/tcp/tcp_test.c255
-rw-r--r--src/transport/ws/ws_test.c147
3 files changed, 351 insertions, 380 deletions
diff --git a/src/transport/ipc/ipc_test.c b/src/transport/ipc/ipc_test.c
index 3240b21d..2fb4afa3 100644
--- a/src/transport/ipc/ipc_test.c
+++ b/src/transport/ipc/ipc_test.c
@@ -8,13 +8,7 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include <nng/nng.h>
-#include <nng/protocol/pair0/pair.h>
-#include <nng/supplemental/util/platform.h>
-
-#include <testutil.h>
-
-#include <acutest.h>
+#include <nuts.h>
#ifdef NNG_PLATFORM_POSIX
#include <sys/stat.h>
@@ -33,15 +27,14 @@ test_path_too_long(void)
addr[255] = 0;
memcpy(addr, "ipc://", strlen("ipc://"));
- TEST_ASSERT(strlen(addr) == 255);
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_FAIL(nng_listen(s1, addr, NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
- nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK), NNG_EADDRINVAL);
+ NUTS_ASSERT(strlen(addr) == 255);
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_FAIL(nng_listen(s1, addr, NULL, 0), NNG_EADDRINVAL);
+ NUTS_FAIL(nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK), NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -49,16 +42,14 @@ test_ipc_dialer_perms(void)
{
nng_socket s;
nng_dialer d;
- char addr[64];
+ char * addr;
- testutil_scratch_addr("ipc", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s));
- TEST_NNG_PASS(nng_dialer_create(&d, s, addr));
- TEST_NNG_FAIL(
+ NUTS_ADDR(addr, "ipc");
+ NUTS_OPEN(s);
+ NUTS_PASS(nng_dialer_create(&d, s, addr));
+ NUTS_FAIL(
nng_dialer_set_int(d, NNG_OPT_IPC_PERMISSIONS, 0444), NNG_ENOTSUP);
-
- TEST_NNG_PASS(nng_close(s));
+ NUTS_CLOSE(s);
}
void
@@ -68,26 +59,24 @@ test_ipc_dialer_properties(void)
nng_dialer d;
nng_sockaddr sa;
size_t z;
- char addr[64];
+ char *addr;
- testutil_scratch_addr("ipc", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s));
- TEST_NNG_PASS(nng_dial(s, addr, &d, NNG_FLAG_NONBLOCK));
+ NUTS_ADDR(addr, "ipc");
+ NUTS_OPEN(s);
+ NUTS_PASS(nng_dial(s, addr, &d, NNG_FLAG_NONBLOCK));
// Dialers don't have local addresses.
- TEST_NNG_FAIL(
- nng_dialer_get_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP);
+ NUTS_FAIL(nng_dialer_get_addr(d, NNG_OPT_LOCADDR, &sa), NNG_ENOTSUP);
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dialer_set(d, NNG_OPT_LOCADDR, &sa, sizeof(sa)), NNG_ENOTSUP);
z = 8192;
- TEST_NNG_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, z));
+ NUTS_PASS(nng_dialer_set_size(d, NNG_OPT_RECVMAXSZ, z));
z = 0;
- TEST_NNG_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &z));
- TEST_CHECK(z == 8192);
- TEST_NNG_FAIL(nng_dialer_set_bool(d, NNG_OPT_RAW, true), NNG_ENOTSUP);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_PASS(nng_dialer_get_size(d, NNG_OPT_RECVMAXSZ, &z));
+ NUTS_TRUE(z == 8192);
+ NUTS_FAIL(nng_dialer_set_bool(d, NNG_OPT_RAW, true), NNG_ENOTSUP);
+ NUTS_CLOSE(s);
}
void
@@ -95,40 +84,38 @@ test_ipc_listener_perms(void)
{
nng_socket s;
nng_listener l;
- char addr[64];
+ char *addr;
#ifndef _WIN32
char * path;
struct stat st;
#endif
- testutil_scratch_addr("ipc", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s));
- TEST_NNG_PASS(nng_listener_create(&l, s, addr));
+ NUTS_ADDR(addr, "ipc");
+ NUTS_OPEN(s);
+ NUTS_PASS(nng_listener_create(&l, s, addr));
#ifdef _WIN32
- TEST_NNG_FAIL(nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, 0444),
+ NUTS_FAIL(nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, 0444),
NNG_ENOTSUP);
#else
path = &addr[strlen("ipc://")];
// Attempt to set invalid permissions fails.
- TEST_NNG_FAIL(
- nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, S_IFREG),
+ NUTS_FAIL(nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, S_IFREG),
NNG_EINVAL);
- TEST_NNG_PASS(nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, 0444));
- TEST_NNG_PASS(nng_listener_start(l, 0));
- TEST_CHECK(stat(path, &st) == 0);
- TEST_CHECK((st.st_mode & 0777) == 0444);
+ NUTS_PASS(nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, 0444));
+ NUTS_PASS(nng_listener_start(l, 0));
+ NUTS_TRUE(stat(path, &st) == 0);
+ NUTS_TRUE((st.st_mode & 0777) == 0444);
// Now that it's running, we cannot set it.
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listener_set_int(l, NNG_OPT_IPC_PERMISSIONS, 0644), NNG_EBUSY);
#endif
- TEST_NNG_PASS(nng_close(s));
+ NUTS_CLOSE(s);
}
void
@@ -138,26 +125,24 @@ test_ipc_listener_properties(void)
nng_listener l;
nng_sockaddr sa;
size_t z;
- char addr[64];
+ char *addr;
- testutil_scratch_addr("ipc", sizeof(addr), addr);
+ NUTS_ADDR(addr, "ipc");
+ NUTS_OPEN(s);
+ NUTS_PASS(nng_listen(s, addr, &l, 0));
+ NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
+ NUTS_TRUE(sa.s_ipc.sa_family == NNG_AF_IPC);
+ NUTS_MATCH(sa.s_ipc.sa_path, addr + strlen("ipc://"));
- TEST_NNG_PASS(nng_pair0_open(&s));
- TEST_NNG_PASS(nng_listen(s, addr, &l, 0));
- TEST_NNG_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- TEST_CHECK(sa.s_ipc.sa_family == NNG_AF_IPC);
- TEST_STREQUAL(sa.s_ipc.sa_path, addr + strlen("ipc://"));
-
- TEST_NNG_FAIL(nng_listener_set(l, NNG_OPT_LOCADDR, &sa, sizeof(sa)),
+ NUTS_FAIL(nng_listener_set(l, NNG_OPT_LOCADDR, &sa, sizeof(sa)),
NNG_EREADONLY);
z = 8192;
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, z));
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, z));
z = 0;
- TEST_NNG_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &z));
- TEST_CHECK(z == 8192);
- TEST_NNG_FAIL(
- nng_listener_set_bool(l, NNG_OPT_RAW, true), NNG_ENOTSUP);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_PASS(nng_listener_get_size(l, NNG_OPT_RECVMAXSZ, &z));
+ NUTS_TRUE(z == 8192);
+ NUTS_FAIL(nng_listener_set_bool(l, NNG_OPT_RAW, true), NNG_ENOTSUP);
+ NUTS_CLOSE(s);
}
void
@@ -169,29 +154,28 @@ test_ipc_recv_max(void)
nng_socket s1;
nng_listener l;
size_t sz;
- char addr[64];
-
- testutil_scratch_addr("ipc", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s0));
- TEST_NNG_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
- TEST_NNG_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
- TEST_NNG_PASS(nng_listener_create(&l, s0, addr));
- TEST_NNG_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 200);
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
- TEST_NNG_PASS(nng_listener_start(l, 0));
-
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_dial(s1, addr, NULL, 0));
- TEST_NNG_PASS(nng_send(s1, msg, 95, 0));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
- TEST_NNG_PASS(nng_recv(s0, rcvbuf, &sz, 0));
- TEST_CHECK(sz == 95);
- TEST_NNG_PASS(nng_send(s1, msg, 150, 0));
- TEST_NNG_FAIL(nng_recv(s0, rcvbuf, &sz, 0), NNG_ETIMEDOUT);
- TEST_NNG_PASS(nng_close(s0));
- TEST_NNG_PASS(nng_close(s1));
+ char *addr;
+
+ NUTS_ADDR(addr, "ipc");
+ NUTS_OPEN(s0);
+ NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
+ NUTS_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
+ NUTS_PASS(nng_listener_create(&l, s0, addr));
+ NUTS_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 200);
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
+ NUTS_PASS(nng_listener_start(l, 0));
+
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_dial(s1, addr, NULL, 0));
+ NUTS_PASS(nng_send(s1, msg, 95, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
+ NUTS_PASS(nng_recv(s0, rcvbuf, &sz, 0));
+ NUTS_TRUE(sz == 95);
+ NUTS_PASS(nng_send(s1, msg, 150, 0));
+ NUTS_FAIL(nng_recv(s0, rcvbuf, &sz, 0), NNG_ETIMEDOUT);
+ NUTS_CLOSE(s0);
+ NUTS_CLOSE(s1);
}
void
@@ -200,27 +184,27 @@ test_abstract_sockets(void)
#ifdef NNG_HAVE_ABSTRACT_SOCKETS
nng_socket s1;
nng_socket s2;
- char addr[64];
+ char *addr;
nng_pipe p1;
nng_pipe p2;
nng_sockaddr sa1;
nng_sockaddr sa2;
char * prefix = "abstract://";
- testutil_scratch_addr("abstract", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- TEST_NNG_PASS(testutil_marry_ex(s1, s2, addr, &p1, &p2));
- TEST_NNG_PASS(nng_pipe_get_addr(p1, NNG_OPT_REMADDR, &sa1));
- TEST_NNG_PASS(nng_pipe_get_addr(p2, NNG_OPT_LOCADDR, &sa2));
- TEST_CHECK(sa1.s_family == sa2.s_family);
- TEST_CHECK(sa1.s_family == NNG_AF_ABSTRACT);
- TEST_CHECK(sa1.s_abstract.sa_len == strlen(addr) - strlen(prefix));
- TEST_CHECK(sa2.s_abstract.sa_len == strlen(addr) - strlen(prefix));
- TEST_NNG_SEND_STR(s1, "ping");
- TEST_NNG_RECV_STR(s2, "ping");
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+
+ NUTS_ADDR(addr, "abstract");
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_MARRY_EX(s1, s2, addr, &p1, &p2);
+ NUTS_PASS(nng_pipe_get_addr(p1, NNG_OPT_REMADDR, &sa1));
+ NUTS_PASS(nng_pipe_get_addr(p2, NNG_OPT_LOCADDR, &sa2));
+ NUTS_TRUE(sa1.s_family == sa2.s_family);
+ NUTS_TRUE(sa1.s_family == NNG_AF_ABSTRACT);
+ NUTS_TRUE(sa1.s_abstract.sa_len == strlen(addr) - strlen(prefix));
+ NUTS_TRUE(sa2.s_abstract.sa_len == strlen(addr) - strlen(prefix));
+ NUTS_SEND(s1, "ping");
+ NUTS_RECV(s2, "ping");
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
#endif
}
@@ -238,36 +222,36 @@ test_abstract_auto_bind(void)
snprintf(addr, sizeof(addr), "abstract://");
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_listen(s1, addr, &l, 0));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_listen(s1, addr, &l, 0));
- TEST_NNG_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
+ NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
// Under linux there are either 8 or 5 hex characters.
- TEST_CHECK(sa.s_family == NNG_AF_ABSTRACT);
- TEST_CHECK(sa.s_abstract.sa_len < 10);
+ NUTS_TRUE(sa.s_family == NNG_AF_ABSTRACT);
+ NUTS_TRUE(sa.s_abstract.sa_len < 10);
len = sa.s_abstract.sa_len;
memcpy(name, sa.s_abstract.sa_name, len);
name[len] = '\0';
- TEST_CHECK(strlen(name) == len);
+ NUTS_TRUE(strlen(name) == len);
(void) snprintf(addr, sizeof(addr), "abstract://%s", name);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
// first send the ping
- TEST_NNG_SEND_STR(s1, "ping");
- TEST_NNG_RECV_STR(s2, "ping");
+ NUTS_SEND(s1, "ping");
+ NUTS_RECV(s2, "ping");
- TEST_NNG_SEND_STR(s2, "pong");
- TEST_NNG_RECV_STR(s1, "pong");
+ NUTS_SEND(s2, "pong");
+ NUTS_RECV(s1, "pong");
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
#endif
}
@@ -283,15 +267,14 @@ test_abstract_too_long(void)
addr[255] = 0;
memcpy(addr, "abstract://", strlen("abstract://"));
- TEST_ASSERT(strlen(addr) == 255);
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_FAIL(nng_listen(s1, addr, NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
- nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK), NNG_EADDRINVAL);
+ NUTS_ASSERT(strlen(addr) == 255);
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_FAIL(nng_listen(s1, addr, NULL, 0), NNG_EADDRINVAL);
+ NUTS_FAIL(nng_dial(s1, addr, NULL, NNG_FLAG_NONBLOCK), NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
#endif
}
@@ -313,37 +296,37 @@ test_abstract_null(void)
snprintf(name, sizeof(name), "a%%00b_%s", rng);
snprintf(addr, sizeof(addr), "abstract://%s", name);
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_listen(s1, addr, &l, 0));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_listen(s1, addr, &l, 0));
- TEST_NNG_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
+ NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
// Under linux there are either 8 or 5 hex characters.
- TEST_CHECK(sa.s_family == NNG_AF_ABSTRACT);
- TEST_CHECK(sa.s_abstract.sa_len < 32);
+ NUTS_TRUE(sa.s_family == NNG_AF_ABSTRACT);
+ NUTS_TRUE(sa.s_abstract.sa_len < 32);
len = sa.s_abstract.sa_len;
- TEST_CHECK(len == 20);
- TEST_CHECK(sa.s_abstract.sa_name[0] == 'a');
- TEST_CHECK(sa.s_abstract.sa_name[1] == '\0');
- TEST_CHECK(sa.s_abstract.sa_name[2] == 'b');
- TEST_CHECK(sa.s_abstract.sa_name[3] == '_');
- TEST_CHECK(memcmp(&sa.s_abstract.sa_name[4], rng, 16) == 0);
+ NUTS_TRUE(len == 20);
+ NUTS_TRUE(sa.s_abstract.sa_name[0] == 'a');
+ NUTS_TRUE(sa.s_abstract.sa_name[1] == '\0');
+ NUTS_TRUE(sa.s_abstract.sa_name[2] == 'b');
+ NUTS_TRUE(sa.s_abstract.sa_name[3] == '_');
+ NUTS_TRUE(memcmp(&sa.s_abstract.sa_name[4], rng, 16) == 0);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
// first send the ping
- TEST_NNG_SEND_STR(s1, "1234");
- TEST_NNG_RECV_STR(s2, "1234");
+ NUTS_SEND(s1, "1234");
+ NUTS_RECV(s2, "1234");
- TEST_NNG_SEND_STR(s2, "5678");
- TEST_NNG_RECV_STR(s1, "5678");
+ NUTS_SEND(s2, "5678");
+ NUTS_RECV(s1, "5678");
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
#endif
}
@@ -368,31 +351,31 @@ test_unix_alias(void)
snprintf(addr1, sizeof(addr1), "ipc:///tmp/%s", rng);
snprintf(addr2, sizeof(addr2), "unix:///tmp/%s", rng);
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
- TEST_NNG_PASS(nng_listen(s1, addr1, NULL, 0));
- TEST_NNG_PASS(nng_dial(s2, addr2, NULL, 0));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_SENDTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 1000));
+ NUTS_PASS(nng_listen(s1, addr1, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr2, NULL, 0));
// first send the ping
- TEST_NNG_SEND_STR(s1, "ping");
- TEST_NNG_PASS(nng_recvmsg(s2, &msg, 0));
- TEST_ASSERT(msg != NULL);
- TEST_CHECK(nng_msg_len(msg) == 5);
- TEST_STREQUAL(nng_msg_body(msg), "ping");
+ NUTS_SEND(s1, "ping");
+ NUTS_PASS(nng_recvmsg(s2, &msg, 0));
+ NUTS_ASSERT(msg != NULL);
+ NUTS_TRUE(nng_msg_len(msg) == 5);
+ NUTS_MATCH(nng_msg_body(msg), "ping");
p = nng_msg_get_pipe(msg);
- TEST_NNG_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa1));
- TEST_NNG_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa2));
- TEST_CHECK(sa1.s_family == sa2.s_family);
- TEST_CHECK(sa1.s_family == NNG_AF_IPC);
- TEST_STREQUAL(sa1.s_ipc.sa_path, sa2.s_ipc.sa_path);
+ NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa1));
+ NUTS_PASS(nng_pipe_get_addr(p, NNG_OPT_REMADDR, &sa2));
+ NUTS_TRUE(sa1.s_family == sa2.s_family);
+ NUTS_TRUE(sa1.s_family == NNG_AF_IPC);
+ NUTS_MATCH(sa1.s_ipc.sa_path, sa2.s_ipc.sa_path);
nng_msg_free(msg);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
#endif
}
diff --git a/src/transport/tcp/tcp_test.c b/src/transport/tcp/tcp_test.c
index 88b77ab4..d23227d7 100644
--- a/src/transport/tcp/tcp_test.c
+++ b/src/transport/tcp/tcp_test.c
@@ -10,12 +10,8 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include <nng/nng.h>
-#include <nng/protocol/pair0/pair.h>
-#include <nng/supplemental/util/platform.h>
-#include <acutest.h>
-#include <testutil.h>
+#include <nuts.h>
// TCP tests.
@@ -25,11 +21,10 @@ test_tcp_wild_card_connect_fail(void)
nng_socket s;
char addr[NNG_MAXADDRLEN];
- TEST_NNG_PASS(nng_pair0_open(&s));
- (void) snprintf(
- addr, sizeof(addr), "tcp://*:%u", testutil_next_port());
- TEST_NNG_FAIL(nng_dial(s, addr, NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s));
+ NUTS_OPEN(s);
+ (void) snprintf(addr, sizeof(addr), "tcp://*:%u", nuts_next_port());
+ NUTS_FAIL(nng_dial(s, addr, NULL, 0), NNG_EADDRINVAL);
+ NUTS_CLOSE(s);
}
void
@@ -40,17 +35,16 @@ test_tcp_wild_card_bind(void)
char addr[NNG_MAXADDRLEN];
uint16_t port;
- port = testutil_next_port();
+ port = nuts_next_port();
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
(void) snprintf(addr, sizeof(addr), "tcp4://*:%u", port);
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
- // reset port back one
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
(void) snprintf(addr, sizeof(addr), "tcp://127.0.0.1:%u", port);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
- TEST_NNG_PASS(nng_close(s2));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_CLOSE(s2);
+ NUTS_CLOSE(s1);
}
void
@@ -62,17 +56,16 @@ test_tcp_local_address_connect(void)
char addr[NNG_MAXADDRLEN];
uint16_t port;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- port = testutil_next_port();
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ port = nuts_next_port();
(void) snprintf(addr, sizeof(addr), "tcp://127.0.0.1:%u", port);
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
- // reset port back one
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
(void) snprintf(
addr, sizeof(addr), "tcp://127.0.0.1;127.0.0.1:%u", port);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
- TEST_NNG_PASS(nng_close(s2));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_CLOSE(s2);
+ NUTS_CLOSE(s1);
}
void
@@ -84,19 +77,19 @@ test_tcp_port_zero_bind(void)
nng_listener l;
char * addr;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair_open(&s2));
- TEST_NNG_PASS(nng_listen(s1, "tcp://127.0.0.1:0", &l, 0));
- TEST_NNG_PASS(nng_listener_get_string(l, NNG_OPT_URL, &addr));
- TEST_CHECK(memcmp(addr, "tcp://", 6) == 0);
- TEST_NNG_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
- TEST_CHECK(sa.s_in.sa_family == NNG_AF_INET);
- TEST_CHECK(sa.s_in.sa_port != 0);
- TEST_CHECK(sa.s_in.sa_addr = testutil_htonl(0x7f000001));
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_PASS(nng_listen(s1, "tcp://127.0.0.1:0", &l, 0));
+ NUTS_PASS(nng_listener_get_string(l, NNG_OPT_URL, &addr));
+ NUTS_TRUE(memcmp(addr, "tcp://", 6) == 0);
+ NUTS_PASS(nng_listener_get_addr(l, NNG_OPT_LOCADDR, &sa));
+ NUTS_TRUE(sa.s_in.sa_family == NNG_AF_INET);
+ NUTS_TRUE(sa.s_in.sa_port != 0);
+ NUTS_TRUE(sa.s_in.sa_addr = nuts_be32(0x7f000001));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
nng_strfree(addr);
- TEST_NNG_PASS(nng_close(s2));
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s2);
+ NUTS_CLOSE(s1);
}
void
@@ -104,10 +97,10 @@ test_tcp_bad_local_interface(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_FAIL(nng_dial(s1, "tcp://bogus1;127.0.0.1:80", NULL, 0),
+ NUTS_OPEN(s1);
+ NUTS_FAIL(nng_dial(s1, "tcp://bogus1;127.0.0.1:80", NULL, 0),
NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -115,10 +108,10 @@ test_tcp_non_local_address(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_FAIL(nng_dial(s1, "tcp://8.8.8.8;127.0.0.1:80", NULL, 0),
+ NUTS_OPEN(s1);
+ NUTS_FAIL(nng_dial(s1, "tcp://8.8.8.8;127.0.0.1:80", NULL, 0),
NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -126,18 +119,18 @@ test_tcp_malformed_address(void)
{
nng_socket s1;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_FAIL(
+ NUTS_OPEN(s1);
+ NUTS_FAIL(
nng_dial(s1, "tcp://127.0.0.1", NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dial(s1, "tcp://127.0.0.1.32", NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dial(s1, "tcp://127.0.x.1.32", NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listen(s1, "tcp://127.0.0.1.32", NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listen(s1, "tcp://127.0.x.1.32", NULL, 0), NNG_EADDRINVAL);
- TEST_NNG_PASS(nng_close(s1));
+ NUTS_CLOSE(s1);
}
void
@@ -148,58 +141,58 @@ test_tcp_no_delay_option(void)
nng_listener l;
bool v;
int x;
- char addr[64];
+ char *addr;
- testutil_scratch_addr("tcp", sizeof(addr), addr);
+ NUTS_ADDR(addr, "tcp");
- TEST_NNG_PASS(nng_pair0_open(&s));
+ NUTS_OPEN(s);
#ifndef NNG_ELIDE_DEPRECATED
- TEST_NNG_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == true);
+ NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v);
#endif
- TEST_NNG_PASS(nng_dialer_create(&d, s, addr));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == true);
- TEST_NNG_PASS(nng_dialer_set_bool(d, NNG_OPT_TCP_NODELAY, false));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == false);
- TEST_NNG_FAIL(
+ NUTS_PASS(nng_dialer_create(&d, s, addr));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v);
+ NUTS_PASS(nng_dialer_set_bool(d, NNG_OPT_TCP_NODELAY, false));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v == false);
+ NUTS_FAIL(
nng_dialer_get_int(d, NNG_OPT_TCP_NODELAY, &x), NNG_EBADTYPE);
x = 0;
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dialer_set_int(d, NNG_OPT_TCP_NODELAY, x), NNG_EBADTYPE);
// This assumes sizeof (bool) != sizeof (int)
if (sizeof(bool) != sizeof(int)) {
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dialer_set(d, NNG_OPT_TCP_NODELAY, &x, sizeof(x)),
NNG_EINVAL);
}
- TEST_NNG_PASS(nng_listener_create(&l, s, addr));
- TEST_NNG_PASS(nng_listener_get_bool(l, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == true);
+ NUTS_PASS(nng_listener_create(&l, s, addr));
+ NUTS_PASS(nng_listener_get_bool(l, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v == true);
x = 0;
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listener_set_int(l, NNG_OPT_TCP_NODELAY, x), NNG_EBADTYPE);
// This assumes sizeof (bool) != sizeof (int)
- TEST_NNG_FAIL(nng_listener_set(l, NNG_OPT_TCP_NODELAY, &x, sizeof(x)),
+ NUTS_FAIL(nng_listener_set(l, NNG_OPT_TCP_NODELAY, &x, sizeof(x)),
NNG_EINVAL);
- TEST_NNG_PASS(nng_dialer_close(d));
- TEST_NNG_PASS(nng_listener_close(l));
+ NUTS_PASS(nng_dialer_close(d));
+ NUTS_PASS(nng_listener_close(l));
// Make sure socket wide defaults apply.
#ifndef NNG_ELIDE_DEPRECATED
- TEST_NNG_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, true));
+ NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, true));
v = false;
- TEST_NNG_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == true);
- TEST_NNG_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, false));
- TEST_NNG_PASS(nng_dialer_create(&d, s, addr));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
- TEST_CHECK(v == false);
+ NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v);
+ NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_NODELAY, false));
+ NUTS_PASS(nng_dialer_create(&d, s, addr));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_NODELAY, &v));
+ NUTS_TRUE(v == false);
#endif
- TEST_NNG_PASS(nng_close(s));
+ NUTS_CLOSE(s);
}
void
@@ -210,48 +203,48 @@ test_tcp_keep_alive_option(void)
nng_listener l;
bool v;
int x;
- char addr[64];
+ char *addr;
- testutil_scratch_addr("tcp", sizeof(addr), addr);
- TEST_NNG_PASS(nng_pair0_open(&s));
+ NUTS_ADDR(addr, "tcp");
+ NUTS_OPEN(s);
#ifndef NNG_ELIDE_DEPRECATED
- TEST_NNG_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == false);
+ NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v == false);
#endif
- TEST_NNG_PASS(nng_dialer_create(&d, s, addr));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == false);
- TEST_NNG_PASS(nng_dialer_set_bool(d, NNG_OPT_TCP_KEEPALIVE, true));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == true);
- TEST_NNG_FAIL(
+ NUTS_PASS(nng_dialer_create(&d, s, addr));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v == false);
+ NUTS_PASS(nng_dialer_set_bool(d, NNG_OPT_TCP_KEEPALIVE, true));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v);
+ NUTS_FAIL(
nng_dialer_get_int(d, NNG_OPT_TCP_KEEPALIVE, &x), NNG_EBADTYPE);
x = 1;
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_dialer_set_int(d, NNG_OPT_TCP_KEEPALIVE, x), NNG_EBADTYPE);
- TEST_NNG_PASS(nng_listener_create(&l, s, addr));
- TEST_NNG_PASS(nng_listener_get_bool(l, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == false);
+ NUTS_PASS(nng_listener_create(&l, s, addr));
+ NUTS_PASS(nng_listener_get_bool(l, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v == false);
x = 1;
- TEST_NNG_FAIL(
+ NUTS_FAIL(
nng_listener_set_int(l, NNG_OPT_TCP_KEEPALIVE, x), NNG_EBADTYPE);
- TEST_NNG_PASS(nng_dialer_close(d));
- TEST_NNG_PASS(nng_listener_close(l));
+ NUTS_PASS(nng_dialer_close(d));
+ NUTS_PASS(nng_listener_close(l));
// Make sure socket wide defaults apply.
#ifndef NNG_ELIDE_DEPRECATED
- TEST_NNG_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, false));
+ NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, false));
v = true;
- TEST_NNG_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == false);
- TEST_NNG_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, true));
- TEST_NNG_PASS(nng_dialer_create(&d, s, addr));
- TEST_NNG_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
- TEST_CHECK(v == true);
+ NUTS_PASS(nng_socket_get_bool(s, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v == false);
+ NUTS_PASS(nng_socket_set_bool(s, NNG_OPT_TCP_KEEPALIVE, true));
+ NUTS_PASS(nng_dialer_create(&d, s, addr));
+ NUTS_PASS(nng_dialer_get_bool(d, NNG_OPT_TCP_KEEPALIVE, &v));
+ NUTS_TRUE(v);
#endif
- TEST_NNG_PASS(nng_close(s));
+ NUTS_CLOSE(s);
}
void
@@ -263,32 +256,32 @@ test_tcp_recv_max(void)
nng_socket s1;
nng_listener l;
size_t sz;
- char addr[64];
-
- testutil_scratch_addr("tcp", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s0));
- TEST_NNG_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
- TEST_NNG_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
- TEST_NNG_PASS(nng_listener_create(&l, s0, addr));
- TEST_NNG_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 200);
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
- TEST_NNG_PASS(nng_listener_start(l, 0));
-
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_dial(s1, addr, NULL, 0));
- TEST_NNG_PASS(nng_send(s1, msg, 95, 0));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
- TEST_NNG_PASS(nng_recv(s0, buf, &sz, 0));
- TEST_CHECK(sz == 95);
- TEST_NNG_PASS(nng_send(s1, msg, 150, 0));
- TEST_NNG_FAIL(nng_recv(s0, buf, &sz, 0), NNG_ETIMEDOUT);
- TEST_NNG_PASS(nng_close(s0));
- TEST_NNG_PASS(nng_close(s1));
+ char *addr;
+
+ NUTS_ADDR(addr, "tcp");
+
+ NUTS_OPEN(s0);
+ NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
+ NUTS_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
+ NUTS_PASS(nng_listener_create(&l, s0, addr));
+ NUTS_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 200);
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
+ NUTS_PASS(nng_listener_start(l, 0));
+
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_dial(s1, addr, NULL, 0));
+ NUTS_PASS(nng_send(s1, msg, 95, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
+ NUTS_PASS(nng_recv(s0, buf, &sz, 0));
+ NUTS_TRUE(sz == 95);
+ NUTS_PASS(nng_send(s1, msg, 150, 0));
+ NUTS_FAIL(nng_recv(s0, buf, &sz, 0), NNG_ETIMEDOUT);
+ NUTS_PASS(nng_close(s0));
+ NUTS_CLOSE(s1);
}
-TEST_LIST = {
+NUTS_TESTS = {
{ "tcp wild card connect fail", test_tcp_wild_card_connect_fail },
{ "tcp wild card bind", test_tcp_wild_card_bind },
diff --git a/src/transport/ws/ws_test.c b/src/transport/ws/ws_test.c
index f8f122a1..7cbcd9d7 100644
--- a/src/transport/ws/ws_test.c
+++ b/src/transport/ws/ws_test.c
@@ -8,11 +8,7 @@
// found online at https://opensource.org/licenses/MIT.
//
-#include <testutil.h>
-
-#include <nng/protocol/pair0/pair.h>
-
-#include <acutest.h>
+#include <nuts.h>
static void
test_ws_url_path_filters(void)
@@ -21,19 +17,19 @@ test_ws_url_path_filters(void)
nng_socket s2;
char addr[NNG_MAXADDRLEN];
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- testutil_scratch_addr("ws", sizeof(addr), addr);
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
+ nuts_scratch_addr("ws", sizeof(addr), addr);
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
// Now try we just remove the last character for now.
// This will make the path different.
addr[strlen(addr) - 1] = '\0';
- TEST_NNG_FAIL(nng_dial(s2, addr, NULL, 0), NNG_ECONNREFUSED);
+ NUTS_FAIL(nng_dial(s2, addr, NULL, 0), NNG_ECONNREFUSED);
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
static void
@@ -53,43 +49,43 @@ test_wild_card_port(void)
int port2;
int port3;
char ws_url[128];
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
- TEST_NNG_PASS(nng_pair0_open(&s3));
- TEST_NNG_PASS(nng_pair0_open(&s4));
- TEST_NNG_PASS(nng_pair0_open(&s5));
- TEST_NNG_PASS(nng_pair0_open(&s6));
- TEST_NNG_PASS(nng_listen(s1, "ws://127.0.0.1:0/one", &l1, 0));
- TEST_NNG_PASS(
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
+ NUTS_OPEN(s3);
+ NUTS_OPEN(s4);
+ NUTS_OPEN(s5);
+ NUTS_OPEN(s6);
+ NUTS_PASS(nng_listen(s1, "ws://127.0.0.1:0/one", &l1, 0));
+ NUTS_PASS(
nng_listener_get_int(l1, NNG_OPT_TCP_BOUND_PORT, &port1));
- TEST_CHECK(port1 != 0);
+ NUTS_TRUE(port1 != 0);
snprintf(ws_url, sizeof(ws_url), "ws4://127.0.0.1:%d/two", port1);
- TEST_NNG_PASS(nng_listen(s2, ws_url, &l2, 0));
- TEST_NNG_PASS(
+ NUTS_PASS(nng_listen(s2, ws_url, &l2, 0));
+ NUTS_PASS(
nng_listener_get_int(l2, NNG_OPT_TCP_BOUND_PORT, &port2));
- TEST_CHECK(port1 != 0);
- TEST_CHECK(port1 == port2);
+ NUTS_TRUE(port1 != 0);
+ NUTS_TRUE(port1 == port2);
// Now try a different wild card port.
- TEST_NNG_PASS(nng_listen(s3, "ws4://127.0.0.1:0/three", &l3, 0));
- TEST_NNG_PASS(
+ NUTS_PASS(nng_listen(s3, "ws4://127.0.0.1:0/three", &l3, 0));
+ NUTS_PASS(
nng_listener_get_int(l3, NNG_OPT_TCP_BOUND_PORT, &port3));
- TEST_CHECK(port3 != 0);
- TEST_CHECK(port3 != port1);
+ NUTS_TRUE(port3 != 0);
+ NUTS_TRUE(port3 != port1);
// Let's make sure can dial to each.
snprintf(ws_url, sizeof(ws_url), "ws://127.0.0.1:%d/one", port1);
- TEST_NNG_PASS(nng_dial(s4, ws_url, NULL, 0));
+ NUTS_PASS(nng_dial(s4, ws_url, NULL, 0));
snprintf(ws_url, sizeof(ws_url), "ws://127.0.0.1:%d/two", port2);
- TEST_NNG_PASS(nng_dial(s6, ws_url, NULL, 0));
+ NUTS_PASS(nng_dial(s6, ws_url, NULL, 0));
snprintf(ws_url, sizeof(ws_url), "ws://127.0.0.1:%d/three", port3);
- TEST_NNG_PASS(nng_dial(s6, ws_url, NULL, 0));
-
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
- TEST_NNG_PASS(nng_close(s3));
- TEST_NNG_PASS(nng_close(s4));
- TEST_NNG_PASS(nng_close(s5));
- TEST_NNG_PASS(nng_close(s6));
+ NUTS_PASS(nng_dial(s6, ws_url, NULL, 0));
+
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
+ NUTS_CLOSE(s3);
+ NUTS_CLOSE(s4);
+ NUTS_CLOSE(s5);
+ NUTS_CLOSE(s6);
}
static void
@@ -100,21 +96,21 @@ test_wild_card_host(void)
char addr[NNG_MAXADDRLEN];
uint16_t port;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- port = testutil_next_port();
+ port = nuts_next_port();
// we use ws4 to ensure 127.0.0.1 binding
snprintf(addr, sizeof(addr), "ws4://*:%u/test", port);
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
nng_msleep(100);
snprintf(addr, sizeof(addr), "ws://127.0.0.1:%u/test", port);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
static void
@@ -125,21 +121,21 @@ test_empty_host(void)
char addr[NNG_MAXADDRLEN];
uint16_t port;
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_pair0_open(&s2));
+ NUTS_OPEN(s1);
+ NUTS_OPEN(s2);
- port = testutil_next_port();
+ port = nuts_next_port();
// we use ws4 to ensure 127.0.0.1 binding
snprintf(addr, sizeof(addr), "ws4://:%u/test", port);
- TEST_NNG_PASS(nng_listen(s1, addr, NULL, 0));
+ NUTS_PASS(nng_listen(s1, addr, NULL, 0));
nng_msleep(100);
snprintf(addr, sizeof(addr), "ws://127.0.0.1:%u/test", port);
- TEST_NNG_PASS(nng_dial(s2, addr, NULL, 0));
+ NUTS_PASS(nng_dial(s2, addr, NULL, 0));
- TEST_NNG_PASS(nng_close(s1));
- TEST_NNG_PASS(nng_close(s2));
+ NUTS_CLOSE(s1);
+ NUTS_CLOSE(s2);
}
void
@@ -151,29 +147,28 @@ test_ws_recv_max(void)
nng_socket s1;
nng_listener l;
size_t sz;
- char addr[64];
-
- testutil_scratch_addr("ws", sizeof(addr), addr);
-
- TEST_NNG_PASS(nng_pair0_open(&s0));
- TEST_NNG_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
- TEST_NNG_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
- TEST_NNG_PASS(nng_listener_create(&l, s0, addr));
- TEST_NNG_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
- TEST_CHECK(sz == 200);
- TEST_NNG_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
- TEST_NNG_PASS(nng_listener_start(l, 0));
-
- TEST_NNG_PASS(nng_pair0_open(&s1));
- TEST_NNG_PASS(nng_dial(s1, addr, NULL, 0));
- TEST_NNG_PASS(nng_send(s1, msg, 95, 0));
- TEST_NNG_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
- TEST_NNG_PASS(nng_recv(s0, buf, &sz, 0));
- TEST_CHECK(sz == 95);
- TEST_NNG_PASS(nng_send(s1, msg, 150, 0));
- TEST_NNG_FAIL(nng_recv(s0, buf, &sz, 0), NNG_ETIMEDOUT);
- TEST_NNG_PASS(nng_close(s0));
- TEST_NNG_PASS(nng_close(s1));
+ char *addr;
+
+ NUTS_ADDR(addr, "ws");
+ NUTS_OPEN(s0);
+ NUTS_PASS(nng_socket_set_ms(s0, NNG_OPT_RECVTIMEO, 100));
+ NUTS_PASS(nng_socket_set_size(s0, NNG_OPT_RECVMAXSZ, 200));
+ NUTS_PASS(nng_listener_create(&l, s0, addr));
+ NUTS_PASS(nng_socket_get_size(s0, NNG_OPT_RECVMAXSZ, &sz));
+ NUTS_TRUE(sz == 200);
+ NUTS_PASS(nng_listener_set_size(l, NNG_OPT_RECVMAXSZ, 100));
+ NUTS_PASS(nng_listener_start(l, 0));
+
+ NUTS_OPEN(s1);
+ NUTS_PASS(nng_dial(s1, addr, NULL, 0));
+ NUTS_PASS(nng_send(s1, msg, 95, 0));
+ NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 100));
+ NUTS_PASS(nng_recv(s0, buf, &sz, 0));
+ NUTS_TRUE(sz == 95);
+ NUTS_PASS(nng_send(s1, msg, 150, 0));
+ NUTS_FAIL(nng_recv(s0, buf, &sz, 0), NNG_ETIMEDOUT);
+ NUTS_CLOSE(s0);
+ NUTS_CLOSE(s1);
}
TEST_LIST = {