test_echo_tcp_sendmsg_recvmsg_fd: split out test_tcp_sendmsg_recvmsg_fd_same()
authorStefan Metzmacher <metze@samba.org>
Fri, 5 Feb 2021 13:10:03 +0000 (14:10 +0100)
committerAndreas Schneider <asn@samba.org>
Mon, 8 Feb 2021 18:29:57 +0000 (19:29 +0100)
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andreas Schneider <asn@samba.org>
tests/test_echo_tcp_sendmsg_recvmsg_fd.c

index b0156c9fd81cfd23489a6f7bd265a756b5dc310b..e1908ae70369039981a0adf2edeeceb4de991879 100644 (file)
@@ -237,16 +237,16 @@ static void test_tcp_sendmsg_recvmsg_fd_array(const int *fds, size_t num_fds)
        }
 }
 
-static void test_tcp_sendmsg_recvmsg_fd_1(void **state)
+static void test_tcp_sendmsg_recvmsg_fd_same(size_t num_fds)
 {
        struct torture_address addr = {
                .sa_socklen = sizeof(struct sockaddr_in),
        };
        int pass_sock_fd;
+       int fd_array[num_fds];
+       size_t idx;
        int rc;
 
-       (void) state; /* unused */
-
        /* create socket file descriptor to be passed */
        pass_sock_fd = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
        assert_int_not_equal(pass_sock_fd, -1);
@@ -262,7 +262,19 @@ static void test_tcp_sendmsg_recvmsg_fd_1(void **state)
        rc = connect(pass_sock_fd, &addr.sa.s, addr.sa_socklen);
        assert_int_equal(rc, 0);
 
-       test_tcp_sendmsg_recvmsg_fd_array(&pass_sock_fd, 1);
+       for (idx = 0; idx < num_fds; idx++) {
+               fd_array[idx] = pass_sock_fd;
+       }
+
+       test_tcp_sendmsg_recvmsg_fd_array(fd_array, num_fds);
+
+       close(pass_sock_fd);
+}
+
+static void test_tcp_sendmsg_recvmsg_fd_1(void **state)
+{
+       (void) state; /* unused */
+       test_tcp_sendmsg_recvmsg_fd_same(1);
 }
 
 int main(void) {