From 4dc32119bf6cda2905acd09c60da0fe701b3a3f7 Mon Sep 17 00:00:00 2001 From: "ziemowit.leszczynski" Date: Thu, 22 Aug 2024 13:46:48 +0200 Subject: [PATCH] libc: add unix sockets status flags test JIRA: RTOS-892 --- libc/socket/unix-socket.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/libc/socket/unix-socket.c b/libc/socket/unix-socket.c index adb11a4f..b4685a02 100644 --- a/libc/socket/unix-socket.c +++ b/libc/socket/unix-socket.c @@ -904,6 +904,32 @@ TEST(test_unix_socket, poll) } +TEST(test_unix_socket, flags) +{ + int fd, err; + + fd = socket(AF_UNIX, SOCK_STREAM, 0); + TEST_ASSERT_GREATER_OR_EQUAL_INT(0, fd); + + errno = 0; + err = fcntl(fd, F_GETFL); + TEST_ASSERT_EQUAL_INT(O_RDWR, err); + TEST_ASSERT_EQUAL_INT(0, errno); + + errno = 0; + err = fcntl(fd, F_SETFL, O_NONBLOCK); + TEST_ASSERT_EQUAL_INT(0, err); + TEST_ASSERT_EQUAL_INT(0, errno); + + errno = 0; + err = fcntl(fd, F_GETFL); + TEST_ASSERT_EQUAL_INT(O_RDWR | O_NONBLOCK, err); + TEST_ASSERT_EQUAL_INT(0, errno); + + close(fd); +} + + TEST_GROUP_RUNNER(test_unix_socket) { RUN_TEST_CASE(test_unix_socket, zero_len_send); @@ -920,6 +946,7 @@ TEST_GROUP_RUNNER(test_unix_socket) RUN_TEST_CASE(test_unix_socket, recv_after_close); RUN_TEST_CASE(test_unix_socket, connect_after_close); RUN_TEST_CASE(test_unix_socket, poll); + RUN_TEST_CASE(test_unix_socket, flags); } void runner(void)