diff options
| author | Garrett D'Amore <garrett@damore.org> | 2020-11-21 22:11:21 -0800 |
|---|---|---|
| committer | Garrett D'Amore <garrett@damore.org> | 2020-11-23 22:20:12 -0800 |
| commit | d1218d7309475193b53911667911c4f59a1a7752 (patch) | |
| tree | 6ea796998fb60d2cb8afa704faa77fe7fddd644c /src/transport | |
| parent | b826bfc171d90f8bde7bd672c0ac14201b8b2742 (diff) | |
| download | nng-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.c | 329 | ||||
| -rw-r--r-- | src/transport/tcp/tcp_test.c | 255 | ||||
| -rw-r--r-- | src/transport/ws/ws_test.c | 147 |
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 = { |
