From 4f5a5fb842bcb6e6917d1d37b3530a7020222082 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Sat, 30 Nov 2024 12:56:07 -0500 Subject: tests: add a couple more transport specific tests --- src/testing/util.c | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) (limited to 'src/testing/util.c') diff --git a/src/testing/util.c b/src/testing/util.c index 4b487e2d..79b48337 100644 --- a/src/testing/util.c +++ b/src/testing/util.c @@ -229,6 +229,37 @@ nuts_tran_conn_refused(const char *scheme) NUTS_CLOSE(s); } +void +nuts_tran_dialer_cancel(const char *scheme) +{ + nng_socket s = NNG_SOCKET_INITIALIZER; + nng_dialer d = NNG_DIALER_INITIALIZER; + const char *addr; + + NUTS_ADDR(addr, scheme); + NUTS_OPEN(s); + NUTS_PASS(nng_dial(s, addr, &d, NNG_FLAG_NONBLOCK)); + NUTS_TRUE(nng_dialer_id(d) > 0); + NUTS_PASS(nng_dialer_close(d)); + NUTS_CLOSE(s); +} + +void +nuts_tran_dialer_closed(const char *scheme) +{ + nng_socket s = NNG_SOCKET_INITIALIZER; + nng_dialer d = NNG_DIALER_INITIALIZER; + const char *addr; + + NUTS_ADDR(addr, scheme); + NUTS_OPEN(s); + NUTS_PASS(nng_dialer_create(&d, s, addr)); + NUTS_TRUE(nng_dialer_id(d) > 0); + NUTS_PASS(nng_dialer_close(d)); + NUTS_FAIL(nng_dialer_start(d, 0), NNG_ENOENT); + NUTS_CLOSE(s); +} + void nuts_tran_duplicate_listen(const char *scheme) { @@ -246,6 +277,37 @@ nuts_tran_duplicate_listen(const char *scheme) NUTS_CLOSE(s); } +void +nuts_tran_listener_cancel(const char *scheme) +{ + nng_socket s = NNG_SOCKET_INITIALIZER; + nng_listener l = NNG_LISTENER_INITIALIZER; + const char *addr; + + NUTS_ADDR(addr, scheme); + NUTS_OPEN(s); + NUTS_PASS(nng_listen(s, addr, &l, 0)); + NUTS_TRUE(nng_listener_id(l) > 0); + NUTS_PASS(nng_listener_close(l)); + NUTS_CLOSE(s); +} + +void +nuts_tran_listener_closed(const char *scheme) +{ + nng_socket s = NNG_SOCKET_INITIALIZER; + nng_listener l = NNG_LISTENER_INITIALIZER; + const char *addr; + + NUTS_ADDR(addr, scheme); + NUTS_OPEN(s); + NUTS_PASS(nng_listener_create(&l, s, addr)); + NUTS_TRUE(nng_listener_id(l) > 0); + NUTS_PASS(nng_listener_close(l)); + NUTS_FAIL(nng_listener_start(l, 0), NNG_ENOENT); + NUTS_CLOSE(s); +} + void nuts_tran_listen_accept(const char *scheme) { -- cgit v1.2.3-70-g09d2