Date: Fri, 17 Apr 2020 16:31:08 +0000 (UTC) From: Olivier Cochard <olivier@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r360045 - head/tests/sys/net/routing Message-ID: <202004171631.03HGV8NS053428@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: olivier (ports committer) Date: Fri Apr 17 16:31:07 2020 New Revision: 360045 URL: https://svnweb.freebsd.org/changeset/base/360045 Log: Skip routing regression tests depending on if_epair if this module isn't installed. Approved by: melifaro Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D24468 Modified: head/tests/sys/net/routing/Makefile head/tests/sys/net/routing/rtsock_common.h head/tests/sys/net/routing/rtsock_config.h Modified: head/tests/sys/net/routing/Makefile ============================================================================== --- head/tests/sys/net/routing/Makefile Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/Makefile Fri Apr 17 16:31:07 2020 (r360045) @@ -14,4 +14,6 @@ ${PACKAGE}FILESMODE_generic_cleanup.sh=0555 # so running them in parallel will lead to weird results. TEST_METADATA+= is_exclusive=true +CFLAGS+= -I${.CURDIR:H:H:H} + .include <bsd.test.mk> Modified: head/tests/sys/net/routing/rtsock_common.h ============================================================================== --- head/tests/sys/net/routing/rtsock_common.h Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/rtsock_common.h Fri Apr 17 16:31:07 2020 (r360045) @@ -45,6 +45,7 @@ #include <sys/socket.h> #include <sys/ioctl.h> #include <sys/jail.h> +#include <sys/linker.h> #include <net/if.h> #include <net/if_dl.h> #include <net/route.h> @@ -63,6 +64,7 @@ #include <sysexits.h> #include <atf-c.h> +#include "freebsd_test_suite/macros.h" #include "rtsock_print.h" #include "params.h" @@ -126,33 +128,6 @@ _check_cloner(char *name) return (found); } -/* - * Tries to ensure if_tap is loaded. - * Checks list of interface cloners first, then tries - * to load the module. - * - * return nonzero on success. - */ -static int -_enforce_cloner_loaded(char *cloner_name) -{ - if (_check_cloner(cloner_name)) - return (1); - /* need to load */ - RLOG("trying to load %s driver", cloner_name); - - char cmd[64]; - - snprintf(cmd, sizeof(cmd), "/sbin/kldload if_%s", cloner_name); - int ret = system(cmd); - if (ret != 0) { - RLOG("'%s' failed, error %d", cmd, ret); - return (0); - } - - return (1); -} - static char * iface_create(char *ifname_orig) { @@ -164,9 +139,6 @@ iface_create(char *ifname_orig) for (src = ifname_orig, dst = prefix; *src && isalpha(*src); src++) *dst++ = *src; *dst = '\0'; - - if (_enforce_cloner_loaded(prefix) == 0) - return (NULL); memset(&ifr, 0, sizeof(struct ifreq)); Modified: head/tests/sys/net/routing/rtsock_config.h ============================================================================== --- head/tests/sys/net/routing/rtsock_config.h Fri Apr 17 15:19:42 2020 (r360044) +++ head/tests/sys/net/routing/rtsock_config.h Fri Apr 17 16:31:07 2020 (r360045) @@ -127,6 +127,9 @@ config_setup(const atf_tc_t *tc, struct rtsock_config_ inet_ntop(AF_INET6, &c->addr6.sin6_addr, c->addr6_str, INET6_ADDRSTRLEN); if (co->num_interfaces > 0) { + kldload("if_epair"); + ATF_REQUIRE_KERNEL_MODULE("if_epair"); + c->ifnames = calloc(co->num_interfaces, sizeof(char *)); for (int i = 0; i < co->num_interfaces; i++) c->ifnames[i] = iface_create("epair");
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202004171631.03HGV8NS053428>