From 285c3f453a14e6d5fe7ae3fe3469710dec4a3dc7 Mon Sep 17 00:00:00 2001 From: "Dmitry V. Levin" Date: Wed, 6 Jan 2016 15:53:45 +0000 Subject: [PATCH] tests/netlink_inet_diag.c: use libtests * tests/netlink_inet_diag.c (send_query, check_responses, main): Use perror_msg_and_skip. --- tests/netlink_inet_diag.c | 39 ++++++++++++++++++++++++--------------- 1 file changed, 24 insertions(+), 15 deletions(-) diff --git a/tests/netlink_inet_diag.c b/tests/netlink_inet_diag.c index 7d1bc2bd..8dd50dba 100644 --- a/tests/netlink_inet_diag.c +++ b/tests/netlink_inet_diag.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2014-2015 Dmitry V. Levin + * Copyright (c) 2014-2016 Dmitry V. Levin * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -25,6 +25,7 @@ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +#include "tests.h" #include #include #include @@ -33,7 +34,7 @@ #include #include -static int +static void send_query(const int fd, const int family, const int proto) { struct sockaddr_nl nladdr = { @@ -65,10 +66,11 @@ send_query(const int fd, const int family, const int proto) .msg_iovlen = 1 }; - return sendmsg(fd, &msg, 0) > 0; + if (sendmsg(fd, &msg, 0) <= 0) + perror_msg_and_skip("sendmsg"); } -static int +static void check_responses(const int fd) { static char buf[8192]; @@ -88,12 +90,15 @@ check_responses(const int fd) ssize_t ret = recvmsg(fd, &msg, 0); if (ret <= 0) - return 0; + perror_msg_and_skip("recvmsg"); struct nlmsghdr *h = (struct nlmsghdr*)buf; - return (NLMSG_OK(h, ret) && - h->nlmsg_type != NLMSG_ERROR && - h->nlmsg_type != NLMSG_DONE) ? 1 : 0; + if (!NLMSG_OK(h, ret)) + error_msg_and_skip("!NLMSG_OK"); + if (h->nlmsg_type == NLMSG_ERROR) + error_msg_and_skip("NLMSG_ERROR"); + if (h->nlmsg_type == NLMSG_DONE) + error_msg_and_skip("NLMSG_DONE"); } int main(void) @@ -108,12 +113,16 @@ int main(void) close(0); close(1); - if (socket(PF_INET, SOCK_STREAM, 0) || - bind(0, (struct sockaddr *) &addr, len) || - listen(0, 5) || - socket(AF_NETLINK, SOCK_RAW, NETLINK_INET_DIAG) != 1) - return 77; + if (socket(PF_INET, SOCK_STREAM, 0)) + perror_msg_and_skip("socket PF_INET"); + if (bind(0, (struct sockaddr *) &addr, len)) + perror_msg_and_skip("bind"); + if (listen(0, 5)) + perror_msg_and_skip("listen"); + if (socket(AF_NETLINK, SOCK_RAW, NETLINK_INET_DIAG) != 1) + perror_msg_and_skip("socket AF_NETLINK"); - return (send_query(1, AF_INET, IPPROTO_TCP) && - check_responses(1)) ? 0 : 77; + send_query(1, AF_INET, IPPROTO_TCP); + check_responses(1); + return 0; } -- 2.40.0