diff options
| author | Jakub Kicinski <kuba@kernel.org> | 2026-03-06 19:36:21 -0800 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2026-03-09 17:02:25 -0700 |
| commit | e0aa0c61758f517ded2befa084ebcad93809b421 (patch) | |
| tree | 0e33c37c594526875ca917bb23835c9ef8719879 /tools/net | |
| parent | 0bcac7b11262557c990da1ac564d45777eb6b005 (diff) | |
| download | linux-next-e0aa0c61758f517ded2befa084ebcad93809b421.tar.gz linux-next-e0aa0c61758f517ded2befa084ebcad93809b421.zip | |
tools: ynl: move samples to tests
The "samples" were always poor man's tests (used to manually
confirm that C YNL works).
Move all C sample programs from tools/net/ynl/samples/ to
tools/net/ynl/tests/, "merge" the Makefiles. The subsequent
changes will convert each sample into a proper KTAP selftests.
Since these are now tests rather than samples - default to
enabling asan. After all we're testing user space code here.
Sort the gitignore while at it, the page-pool entry was a leftover
so delete it.
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Tested-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://patch.msgid.link/20260307033630.1396085-2-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'tools/net')
| -rw-r--r-- | tools/net/ynl/Makefile | 4 | ||||
| -rw-r--r-- | tools/net/ynl/samples/Makefile | 36 | ||||
| -rw-r--r-- | tools/net/ynl/tests/.gitignore (renamed from tools/net/ynl/samples/.gitignore) | 3 | ||||
| -rw-r--r-- | tools/net/ynl/tests/Makefile | 47 | ||||
| -rw-r--r-- | tools/net/ynl/tests/devlink.c (renamed from tools/net/ynl/samples/devlink.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/ethtool.c (renamed from tools/net/ynl/samples/ethtool.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/netdev.c (renamed from tools/net/ynl/samples/netdev.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/ovs.c (renamed from tools/net/ynl/samples/ovs.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/rt-addr.c (renamed from tools/net/ynl/samples/rt-addr.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/rt-link.c (renamed from tools/net/ynl/samples/rt-link.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/rt-route.c (renamed from tools/net/ynl/samples/rt-route.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/tc-filter-add.c (renamed from tools/net/ynl/samples/tc-filter-add.c) | 0 | ||||
| -rw-r--r-- | tools/net/ynl/tests/tc.c (renamed from tools/net/ynl/samples/tc.c) | 0 |
13 files changed, 45 insertions, 45 deletions
diff --git a/tools/net/ynl/Makefile b/tools/net/ynl/Makefile index 9b692f368be7..d514a48dae27 100644 --- a/tools/net/ynl/Makefile +++ b/tools/net/ynl/Makefile @@ -14,12 +14,12 @@ includedir ?= $(prefix)/include SPECDIR=../../../Documentation/netlink/specs -SUBDIRS = lib generated samples ynltool tests +SUBDIRS = lib generated ynltool tests all: $(SUBDIRS) libynl.a +tests: | lib generated libynl.a ynltool: | lib generated libynl.a -samples: | lib generated libynl.a: | lib generated @echo -e "\tAR $@" @ar rcs $@ lib/ynl.o generated/*-user.o diff --git a/tools/net/ynl/samples/Makefile b/tools/net/ynl/samples/Makefile deleted file mode 100644 index d76cbd41cbb1..000000000000 --- a/tools/net/ynl/samples/Makefile +++ /dev/null @@ -1,36 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0 - -include ../Makefile.deps - -CC=gcc -CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ - -I../lib/ -I../generated/ -idirafter $(UAPI_PATH) -ifeq ("$(DEBUG)","1") - CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan -endif - -LDLIBS=../lib/ynl.a ../generated/protos.a - -SRCS=$(wildcard *.c) -BINS=$(patsubst %.c,%,${SRCS}) - -include $(wildcard *.d) - -all: $(BINS) - -CFLAGS_page-pool=$(CFLAGS_netdev) -CFLAGS_tc-filter-add:=$(CFLAGS_tc) - -$(BINS): ../lib/ynl.a ../generated/protos.a $(SRCS) - @echo -e '\tCC sample $@' - @$(COMPILE.c) $(CFLAGS_$@) $@.c -o $@.o - @$(LINK.c) $@.o -o $@ $(LDLIBS) - -clean: - rm -f *.o *.d *~ - -distclean: clean - rm -f $(BINS) - -.PHONY: all clean distclean -.DEFAULT_GOAL=all diff --git a/tools/net/ynl/samples/.gitignore b/tools/net/ynl/tests/.gitignore index 05087ee323ba..045385df42a4 100644 --- a/tools/net/ynl/samples/.gitignore +++ b/tools/net/ynl/tests/.gitignore @@ -1,8 +1,7 @@ -ethtool devlink +ethtool netdev ovs -page-pool rt-addr rt-link rt-route diff --git a/tools/net/ynl/tests/Makefile b/tools/net/ynl/tests/Makefile index eb166c9550db..5fa36c877235 100644 --- a/tools/net/ynl/tests/Makefile +++ b/tools/net/ynl/tests/Makefile @@ -1,21 +1,51 @@ # SPDX-License-Identifier: GPL-2.0 # Makefile for YNL tests +include ../Makefile.deps + +CC=gcc +CFLAGS += -std=gnu11 -O2 -W -Wall -Wextra -Wno-unused-parameter -Wshadow \ + -I../lib/ -I../generated/ -I../../../testing/selftests/ \ + -idirafter $(UAPI_PATH) +ifneq ("$(NDEBUG)","1") + CFLAGS += -g -fsanitize=address -fsanitize=leak -static-libasan +endif + +LDLIBS=../lib/ynl.a ../generated/protos.a + TEST_PROGS := \ test_ynl_cli.sh \ test_ynl_ethtool.sh \ # end of TEST_PROGS +SRCS=$(wildcard *.c) +BINS=$(patsubst %.c,%,${SRCS}) + +CFLAGS_tc-filter-add:=$(CFLAGS_tc) + +include $(wildcard *.d) + INSTALL_PATH ?= $(DESTDIR)/usr/share/kselftest -all: $(TEST_PROGS) +all: $(BINS) $(TEST_PROGS) + +../lib/ynl.a: + @$(MAKE) -C ../lib + + ../generated/protos.a: + @$(MAKE) -C ../generated + +$(BINS): ../lib/ynl.a ../generated/protos.a + @echo -e '\tCC test $@' + @$(COMPILE.c) $(CFLAGS_$@) $@.c -o $@.o + @$(LINK.c) $@.o -o $@ $(LDLIBS) run_tests: @for test in $(TEST_PROGS); do \ ./$$test; \ done -install: $(TEST_PROGS) +install: $(TEST_PROGS) $(BINS) @mkdir -p $(INSTALL_PATH)/ynl @cp ../../../testing/selftests/kselftest/ktap_helpers.sh $(INSTALL_PATH)/ @for test in $(TEST_PROGS); do \ @@ -26,11 +56,18 @@ install: $(TEST_PROGS) $$test > $(INSTALL_PATH)/ynl/$$name; \ chmod +x $(INSTALL_PATH)/ynl/$$name; \ done + @for bin in $(BINS); do \ + cp $$bin $(INSTALL_PATH)/ynl/$$bin; \ + done @for test in $(TEST_PROGS); do \ echo "ynl:$$test"; \ done > $(INSTALL_PATH)/kselftest-list.txt -clean distclean: - @# Nothing to clean +clean: + rm -f *.o *.d *~ + +distclean: clean + rm -f $(BINS) -.PHONY: all install clean run_tests +.PHONY: all install clean distclean run_tests +.DEFAULT_GOAL=all diff --git a/tools/net/ynl/samples/devlink.c b/tools/net/ynl/tests/devlink.c index ac9dfb01f280..ac9dfb01f280 100644 --- a/tools/net/ynl/samples/devlink.c +++ b/tools/net/ynl/tests/devlink.c diff --git a/tools/net/ynl/samples/ethtool.c b/tools/net/ynl/tests/ethtool.c index a7ebbd1b98db..a7ebbd1b98db 100644 --- a/tools/net/ynl/samples/ethtool.c +++ b/tools/net/ynl/tests/ethtool.c diff --git a/tools/net/ynl/samples/netdev.c b/tools/net/ynl/tests/netdev.c index 22609d44c89a..22609d44c89a 100644 --- a/tools/net/ynl/samples/netdev.c +++ b/tools/net/ynl/tests/netdev.c diff --git a/tools/net/ynl/samples/ovs.c b/tools/net/ynl/tests/ovs.c index 3e975c003d77..3e975c003d77 100644 --- a/tools/net/ynl/samples/ovs.c +++ b/tools/net/ynl/tests/ovs.c diff --git a/tools/net/ynl/samples/rt-addr.c b/tools/net/ynl/tests/rt-addr.c index 2edde5c36b18..2edde5c36b18 100644 --- a/tools/net/ynl/samples/rt-addr.c +++ b/tools/net/ynl/tests/rt-addr.c diff --git a/tools/net/ynl/samples/rt-link.c b/tools/net/ynl/tests/rt-link.c index acdd4b4a0f74..acdd4b4a0f74 100644 --- a/tools/net/ynl/samples/rt-link.c +++ b/tools/net/ynl/tests/rt-link.c diff --git a/tools/net/ynl/samples/rt-route.c b/tools/net/ynl/tests/rt-route.c index 7427104a96df..7427104a96df 100644 --- a/tools/net/ynl/samples/rt-route.c +++ b/tools/net/ynl/tests/rt-route.c diff --git a/tools/net/ynl/samples/tc-filter-add.c b/tools/net/ynl/tests/tc-filter-add.c index 97871e9e9edc..97871e9e9edc 100644 --- a/tools/net/ynl/samples/tc-filter-add.c +++ b/tools/net/ynl/tests/tc-filter-add.c diff --git a/tools/net/ynl/samples/tc.c b/tools/net/ynl/tests/tc.c index 0bfff0fdd792..0bfff0fdd792 100644 --- a/tools/net/ynl/samples/tc.c +++ b/tools/net/ynl/tests/tc.c |
