Module Name: src Committed By: ozaki-r Date: Thu Nov 17 08:36:54 UTC 2022
Modified Files: src/tests/net/tcp: t_tcp_connect_port.c Log Message: tests: make t_tcp_connect_port.c run on rump kernel To generate a diff of this commit: cvs rdiff -u -r1.1 -r1.2 src/tests/net/tcp/t_tcp_connect_port.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/tests/net/tcp/t_tcp_connect_port.c diff -u src/tests/net/tcp/t_tcp_connect_port.c:1.1 src/tests/net/tcp/t_tcp_connect_port.c:1.2 --- src/tests/net/tcp/t_tcp_connect_port.c:1.1 Thu Nov 17 08:36:00 2022 +++ src/tests/net/tcp/t_tcp_connect_port.c Thu Nov 17 08:36:54 2022 @@ -1,3 +1,5 @@ +/* $NetBSD: t_tcp_connect_port.c,v 1.2 2022/11/17 08:36:54 ozaki-r Exp $ */ + /*- * SPDX-License-Identifier: BSD-2-Clause * @@ -27,7 +29,12 @@ */ #include <sys/cdefs.h> +#ifdef __NetBSD__ +__RCSID("$NetBSD: t_tcp_connect_port.c,v 1.2 2022/11/17 08:36:54 ozaki-r Exp $"); +#define USE_RUMPKERNEL 1 +#else __FBSDID("$FreeBSD$"); +#endif #include <sys/param.h> #include <sys/socket.h> @@ -45,6 +52,21 @@ __FBSDID("$FreeBSD$"); #include <atf-c.h> +#ifdef USE_RUMPKERNEL +#include <rump/rump.h> +#include <rump/rump_syscalls.h> + +#define socket rump_sys_socket +#define bind rump_sys_bind +#define listen rump_sys_listen +#define accept rump_sys_accept +#define connect rump_sys_connect +#define write rump_sys_write +#define close rump_sys_close +#define setsockopt rump_sys_setsockopt +#define getsockname rump_sys_getsockname +#endif /* USE_RUMPKERNEL */ + #define SYSCTLBAKFILE "tmp.net.inet.ip.portrange.randomized" /* @@ -54,6 +76,9 @@ __FBSDID("$FreeBSD$"); static void disable_random_ports(void) { +#ifdef USE_RUMPKERNEL + rump_init(); /* XXX */ +#else int error, fd, random_new, random_save; size_t sysctlsz; @@ -112,6 +137,7 @@ restore_sysctl: NULL, &random_save, sysctlsz); atf_tc_skip("Error setting sysctl"); } +#endif /* USE_RUMPKERNEL */ } /* @@ -120,6 +146,7 @@ restore_sysctl: static void restore_random_ports(void) { +#ifndef USE_RUMPKERNEL int error, fd, random_save; /* Open the backup file, read the contents, close it, and delete it. */ @@ -152,6 +179,7 @@ restore_random_ports(void) if (error) warn("sysctlbyname(\"net.inet.ip.portrange.randomized\") " "failed while restoring value"); +#endif /* USE_RUMPKERNEL */ } /* @@ -271,7 +299,9 @@ ATF_TC_HEAD(basic_ipv4, tc) { atf_tc_set_md_var(tc, "require.user", "root"); +#ifndef USE_RUMPKERNEL atf_tc_set_md_var(tc, "require.config", "allow_sysctl_side_effects"); +#endif atf_tc_set_md_var(tc, "descr", "Check automatic local port assignment during TCP connect calls"); } @@ -300,7 +330,9 @@ ATF_TC_HEAD(basic_ipv6, tc) { atf_tc_set_md_var(tc, "require.user", "root"); +#ifndef USE_RUMPKERNEL atf_tc_set_md_var(tc, "require.config", "allow_sysctl_side_effects"); +#endif atf_tc_set_md_var(tc, "descr", "Check automatic local port assignment during TCP connect calls"); }