test_xsk.c uses the kselftest framework. This isn't compatible with the test_progs framework. Add a XSK_SELTFEST define that allows to enable/disable the kselftest usage. Signed-off-by: Bastien Curutchet (eBPF Foundation) <bastien.curutchet@xxxxxxxxxxx> --- tools/testing/selftests/bpf/Makefile | 2 +- tools/testing/selftests/bpf/test_xsk.h | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index ca14999fe0d832b24536f3a4f956e987c3b53cd8..3cde86a6e9b1ca467de162e0ba9670ad2085b6a6 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile @@ -777,7 +777,7 @@ $(OUTPUT)/test_verifier: test_verifier.c verifier/tests.h $(BPFOBJ) | $(OUTPUT) EXTRA_SRC := $(TOOLSDIR)/lib/find_bit.c $(OUTPUT)/xskxceiver: $(EXTRA_SRC) test_xsk.c xskxceiver.c xskxceiver.h $(OUTPUT)/network_helpers.o $(OUTPUT)/xsk.o $(OUTPUT)/xsk_xdp_progs.skel.h $(BPFOBJ) | $(OUTPUT) $(call msg,BINARY,,$@) - $(Q)$(CC) $(CFLAGS) $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@ + $(Q)$(CC) $(CFLAGS) -D XSK_KSELFTEST $(filter %.a %.o %.c,$^) $(LDLIBS) -o $@ $(OUTPUT)/xdp_hw_metadata: xdp_hw_metadata.c $(OUTPUT)/network_helpers.o $(OUTPUT)/xsk.o $(OUTPUT)/xdp_hw_metadata.skel.h | $(OUTPUT) $(call msg,BINARY,,$@) diff --git a/tools/testing/selftests/bpf/test_xsk.h b/tools/testing/selftests/bpf/test_xsk.h index 61246013816431dca2f84ce2fec44c5160adbdad..9653687087c122ec5fdb9f23e3343e37c82373f6 100644 --- a/tools/testing/selftests/bpf/test_xsk.h +++ b/tools/testing/selftests/bpf/test_xsk.h @@ -5,7 +5,6 @@ #include <linux/ethtool.h> #include <linux/if_xdp.h> -#include "../kselftest.h" #include "xsk.h" #ifndef SO_PREFER_BUSY_POLL @@ -31,12 +30,29 @@ #define SOCK_RECONF_CTR 10 #define USLEEP_MAX 10000 + +#ifdef XSK_KSELFTEST +#include "../kselftest.h" + static bool opt_verbose; #define print_msg(x...) ksft_print_msg(x) #define print_verbose(x...) do { if (opt_verbose) ksft_print_msg(x); } while (0) #define skip_reason(x...) ksft_test_result_skip(x) #define fail_reason(x...) ksft_test_result_fail(x) +#else + +void xsk_log(const char *msg, ...); +void xsk_verbose(const char *msg, ...); +void xsk_skip(const char *msg); + +#define print_msg(x...) xsk_verbose(x) +#define print_verbose(x...) xsk_verbose(x) +#define skip_reason(x...) xsk_skip(x) +#define fail_reason(x...) xsk_log(x) + +#endif + static inline u32 ceil_u32(u32 a, u32 b) { return (a + b - 1) / b; -- 2.48.1