From 2c831af2fe64d2d14f440a869779c23f42b8dc83 Mon Sep 17 00:00:00 2001 From: ngie Date: Tue, 16 Apr 2019 01:03:32 +0000 Subject: [PATCH] MFC r345644,r346061: r345644 (by olivier): Skip this test if if_tap module is not available PR: 236842 r346061: Polish netmap(4) testcases a bit 1. Not all kernels have netmap(4) support. Check for netmap(4) support before attempting to run the tests via the `PLAIN_REQUIRE_KERNEL_MODULE(..)` macro. 2. Libraries shouldn't be added to LDFLAGS; they should be added to LIBADD instead. This allows the build system to evaluate dependencies for sanity. 3. Sort some of the Makefile variables per bsd.README. 1., in particular, will resolve failures when running this testcase on kernels lacking netmap(4) support, e.g., the i386 GENERIC kernels on ^/stable/11 and ^/stable/12. PR: 237129 --- tests/sys/netmap/Makefile | 4 +++- tests/sys/netmap/ctrl-api-test.c | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/tests/sys/netmap/Makefile b/tests/sys/netmap/Makefile index 542a21c4693..a1d61ddf895 100644 --- a/tests/sys/netmap/Makefile +++ b/tests/sys/netmap/Makefile @@ -6,9 +6,11 @@ TESTSDIR= ${TESTSBASE}/sys/netmap TEST_METADATA+= required_user="root" TEST_METADATA+= is_exclusive=true -LDFLAGS+= -lpthread PLAIN_TESTS_C+= ctrl-api-test +CFLAGS+= -I${SRCTOP}/tests +LIBADD+= pthread + WARNS?= 6 .include diff --git a/tests/sys/netmap/ctrl-api-test.c b/tests/sys/netmap/ctrl-api-test.c index e7ea8f7113b..f4cd568bd18 100644 --- a/tests/sys/netmap/ctrl-api-test.c +++ b/tests/sys/netmap/ctrl-api-test.c @@ -48,9 +48,15 @@ #include #include +#ifdef __FreeBSD__ +#include "freebsd_test_suite/macros.h" +#endif + + #ifdef __linux__ #include #else + static int eventfd(int x __unused, int y __unused) { @@ -1785,6 +1791,11 @@ main(int argc, char **argv) int opt; int i; +#ifdef __FreeBSD__ + PLAIN_REQUIRE_KERNEL_MODULE("if_tap", 0); + PLAIN_REQUIRE_KERNEL_MODULE("netmap", 0); +#endif + memset(&ctx_, 0, sizeof(ctx_)); { -- 2.45.0