From 85927b8d0d0a751e4c65849c392ef9d0e42a1bd7 Mon Sep 17 00:00:00 2001 From: Garrett D'Amore Date: Tue, 5 Nov 2024 22:25:24 -0800 Subject: ipc: listener cancellation test --- src/sp/transport/ipc/ipc_test.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'src/sp') diff --git a/src/sp/transport/ipc/ipc_test.c b/src/sp/transport/ipc/ipc_test.c index f3ce8d41..083326bb 100644 --- a/src/sp/transport/ipc/ipc_test.c +++ b/src/sp/transport/ipc/ipc_test.c @@ -229,6 +229,27 @@ test_ipc_connect_blocking_accept(void) nng_stream_listener_free(l); } +void +test_ipc_listen_accept_cancel(void) +{ + nng_stream_listener *l; + char *addr; + nng_aio *aio; + + NUTS_ENABLE_LOG(NNG_LOG_INFO); + NUTS_ADDR(addr, "ipc"); + NUTS_PASS(nng_aio_alloc(&aio, NULL, NULL)); + + // start a listening stream listener but do not call accept + NUTS_PASS(nng_stream_listener_alloc(&l, addr)); + NUTS_PASS(nng_stream_listener_listen(l)); + nng_stream_listener_accept(l, aio); + nng_msleep(100); + nng_aio_free(aio); + nng_stream_listener_close(l); + nng_stream_listener_free(l); +} + void test_ipc_listener_clean_stale(void) { @@ -539,6 +560,7 @@ TEST_LIST = { { "ipc connect blocking", test_ipc_connect_blocking }, { "ipc connect blocking accept", test_ipc_connect_blocking_accept }, { "ipc listen cleanup stale", test_ipc_listener_clean_stale }, + { "ipc listen accept cancel", test_ipc_listen_accept_cancel }, { "ipc abstract sockets", test_abstract_sockets }, { "ipc abstract auto bind", test_abstract_auto_bind }, { "ipc abstract name too long", test_abstract_too_long }, -- cgit v1.2.3-70-g09d2