aboutsummaryrefslogtreecommitdiff
path: root/src/supplemental
diff options
context:
space:
mode:
authorGarrett D'Amore <garrett@damore.org>2024-12-31 00:32:46 -0800
committerGarrett D'Amore <garrett@damore.org>2024-12-31 00:36:38 -0800
commite6b354f6da8ebd5776ca0457c13ae7179b37b994 (patch)
tree7a990cfbed328d2d9614104fdab0a294b8f0f1d7 /src/supplemental
parent292e0a68516f1d5833e4bef582457113a939a9ef (diff)
downloadnng-e6b354f6da8ebd5776ca0457c13ae7179b37b994.tar.gz
nng-e6b354f6da8ebd5776ca0457c13ae7179b37b994.tar.bz2
nng-e6b354f6da8ebd5776ca0457c13ae7179b37b994.zip
websocket tests: more resilience against EADDRINUSE
Diffstat (limited to 'src/supplemental')
-rw-r--r--src/supplemental/websocket/wssfile_test.c20
1 files changed, 12 insertions, 8 deletions
diff --git a/src/supplemental/websocket/wssfile_test.c b/src/supplemental/websocket/wssfile_test.c
index 972f040f..ac8ad4b9 100644
--- a/src/supplemental/websocket/wssfile_test.c
+++ b/src/supplemental/websocket/wssfile_test.c
@@ -68,20 +68,21 @@ init_listener_wss_file(nng_listener l)
static void
test_invalid_verify(void)
{
- uint16_t port = nuts_next_port();
nng_socket s1;
nng_socket s2;
nng_listener l;
nng_dialer d;
char addr[40];
+ int port;
- (void) snprintf(addr, sizeof(addr), "wss4://:%u/test", port);
+ (void) snprintf(addr, sizeof(addr), "wss4://:0/test");
NUTS_PASS(nng_pair_open(&s1));
NUTS_PASS(nng_pair_open(&s2));
NUTS_PASS(nng_listener_create(&l, s1, addr));
init_listener_wss_file(l);
NUTS_PASS(nng_listener_start(l, 0));
+ NUTS_PASS(nng_listener_get_int(l, NNG_OPT_TCP_BOUND_PORT, &port));
nng_msleep(100);
@@ -115,7 +116,7 @@ test_no_verify(void)
nng_msg *msg;
nng_pipe p;
bool b;
- uint16_t port;
+ int port;
NUTS_ENABLE_LOG(NNG_LOG_DEBUG);
NUTS_PASS(nng_pair_open(&s1));
@@ -124,10 +125,11 @@ test_no_verify(void)
NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 5000));
port = nuts_next_port();
- (void) snprintf(addr, sizeof(addr), "wss4://:%u/test", port);
+ (void) snprintf(addr, sizeof(addr), "wss4://:0/test");
NUTS_PASS(nng_listener_create(&l, s1, addr));
init_listener_wss_file(l);
NUTS_PASS(nng_listener_start(l, 0));
+ NUTS_PASS(nng_listener_get_int(l, NNG_OPT_TCP_BOUND_PORT, &port));
nng_msleep(100);
snprintf(addr, sizeof(addr), "wss://127.0.0.1:%u/test", port);
@@ -166,17 +168,18 @@ test_verify_works(void)
nng_msg *msg;
nng_pipe p;
bool b;
- uint16_t port;
+ int port;
NUTS_PASS(nng_pair_open(&s1));
NUTS_PASS(nng_pair_open(&s2));
NUTS_PASS(nng_socket_set_ms(s1, NNG_OPT_SENDTIMEO, 5000));
NUTS_PASS(nng_socket_set_ms(s2, NNG_OPT_RECVTIMEO, 5000));
port = nuts_next_port();
- (void) snprintf(addr, sizeof(addr), "wss4://:%u/test", port);
+ (void) snprintf(addr, sizeof(addr), "wss4://:0/test");
NUTS_PASS(nng_listener_create(&l, s1, addr));
init_listener_wss_file(l);
NUTS_PASS(nng_listener_start(l, 0));
+ NUTS_PASS(nng_listener_get_int(l, NNG_OPT_TCP_BOUND_PORT, &port));
// It can take a bit for the listener to start up in clouds.
nng_msleep(200);
@@ -218,15 +221,15 @@ test_cert_file_not_present(void)
static void
test_tls_config(void)
{
- uint16_t port = nuts_next_port();
nng_socket s1;
nng_socket s2;
nng_listener l;
nng_dialer d;
char addr[40];
nng_tls_config *cfg;
+ int port;
- (void) snprintf(addr, sizeof(addr), "wss4://:%u/test", port);
+ (void) snprintf(addr, sizeof(addr), "wss4://:0/test");
NUTS_PASS(nng_pair_open(&s1));
NUTS_PASS(nng_pair_open(&s2));
@@ -237,6 +240,7 @@ test_tls_config(void)
init_listener_wss_file(l);
NUTS_PASS(nng_listener_start(l, 0));
+ NUTS_PASS(nng_listener_get_int(l, NNG_OPT_TCP_BOUND_PORT, &port));
// make sure we cannot change the auth mode while running