From 05e2b30132ec72b43d409d40cb7df0d9543cfc8e Mon Sep 17 00:00:00 2001 From: Enji Cooper Date: Tue, 16 Apr 2019 01:03:38 +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 fac6595e0cc..de5f0426a60 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) { @@ -1831,6 +1837,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