From 3027826be205e6451990c51e5eb0ddf6c3b35c17 Mon Sep 17 00:00:00 2001 From: Wildan M Date: Wed, 4 Feb 2026 23:43:01 +0700 Subject: [PATCH] Add uds write test --- tests/sys_socket/unixsocketpair.c | 7 ----- tests/sys_socket/unixwrite.c | 44 +++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 7 deletions(-) create mode 100644 tests/sys_socket/unixwrite.c diff --git a/tests/sys_socket/unixsocketpair.c b/tests/sys_socket/unixsocketpair.c index bc3b798858..014318393d 100644 --- a/tests/sys_socket/unixsocketpair.c +++ b/tests/sys_socket/unixsocketpair.c @@ -10,13 +10,6 @@ #include "test_helpers.h" -volatile sig_atomic_t signal_received = 0; - -void handle_sigusr1(int sig) { - (void)sig; - signal_received = 1; -} - int main(void) { int sv[2]; pid_t pid; diff --git a/tests/sys_socket/unixwrite.c b/tests/sys_socket/unixwrite.c new file mode 100644 index 0000000000..2233680999 --- /dev/null +++ b/tests/sys_socket/unixwrite.c @@ -0,0 +1,44 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include "test_helpers.h" + +int main() { + int status; + const char* socket_path = "unix_write.sock"; + unlink(socket_path); + + int server_fd = socket(AF_UNIX, SOCK_STREAM, 0); + ERROR_IF(socket, server_fd, == -1); + + struct sockaddr_un addr = { .sun_family = AF_UNIX }; + strncpy(addr.sun_path, socket_path, sizeof(addr.sun_path) - 1); + + unlink(socket_path); + + status = bind(server_fd, (struct sockaddr*)&addr, sizeof(addr)); + ERROR_IF(bind, status, == -1); + + status = listen(server_fd, 1); + ERROR_IF(listen, status, == -1); + + int client_fd = socket(AF_UNIX, SOCK_STREAM, 0); + ERROR_IF(socket, client_fd, == -1); + + status = connect(client_fd, (struct sockaddr*)&addr, sizeof(addr)); + ERROR_IF(connect, status, == -1); + + char *msg = "yes"; + ssize_t ret = write(client_fd, msg, 3); + ERROR_IF(write, ret, == -1); + + close(client_fd); + close(server_fd); + return 0; +}