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");
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to