From b47cde4553f31b033cd3d096552c0a5646cdc88d Mon Sep 17 00:00:00 2001 From: Alice Frosi Date: Wed, 21 Dec 2022 15:17:46 +0100 Subject: Create test utils for testing different syscall For now, just testing the connect syscalls with a client/server small test program. Signed-off-by: Alice Frosi --- tests-utils/test-server.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 tests-utils/test-server.c (limited to 'tests-utils/test-server.c') diff --git a/tests-utils/test-server.c b/tests-utils/test-server.c new file mode 100644 index 0000000..811caf4 --- /dev/null +++ b/tests-utils/test-server.c @@ -0,0 +1,46 @@ +#include +#include +#include +#include +#include + +int main(int argc, char *argv[]) +{ + struct sockaddr_un addr; + int fd, connfd, n, addrlen; + char sock_path[] = "/tmp/test.sock"; + char buffer[256]; + unlink(sock_path); + addrlen = sizeof(addr); + if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) < 0) { + perror("creating socket"); + return 1; + } + memset(&addr, 0, sizeof(addr)); + strcpy(addr.sun_path, sock_path); + addr.sun_family = AF_UNIX; + if (bind(fd, (struct sockaddr *)&addr, sizeof(addr)) < 0) { + perror("binding"); + exit(EXIT_FAILURE); + } + + listen(fd, 5); + if ((connfd = accept(fd, (struct sockaddr *)&addr, + (socklen_t *)&addrlen)) < 0) { + perror("ERROR on accept"); + exit(EXIT_FAILURE); + } + + bzero(buffer, 256); + n = read(connfd, buffer, 255); + + if (n < 0) { + perror("ERROR reading from socket"); + exit(EXIT_FAILURE); + } + + printf("%s\n", buffer); + unlink(sock_path); + close(fd); + return 0; +} -- cgit v1.2.3