svn commit: r360045 - head/tests/sys/net/routing
Olivier Cochard
olivier at FreeBSD.org
Fri Apr 17 16:31:09 UTC 2020
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");
More information about the svn-src-all
mailing list