On Fri, Oct 22, 2021 at 3:33 PM Andrii Nakryiko <andrii@xxxxxxxxxx> wrote: > > Revamp how test discovery works for test_progs and allow multiple test > entries per file. Any global void function with no arguments and > serial_test_ or test_ prefix is considered a test. > > Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/Makefile | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index 498222543c37..ac47cf9760fc 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -421,10 +421,9 @@ ifeq ($($(TRUNNER_TESTS_DIR)-tests-hdr),) > $(TRUNNER_TESTS_DIR)-tests-hdr := y > $(TRUNNER_TESTS_HDR): $(TRUNNER_TESTS_DIR)/*.c > $$(call msg,TEST-HDR,$(TRUNNER_BINARY),$$@) > - $$(shell ( cd $(TRUNNER_TESTS_DIR); \ > - echo '/* Generated header, do not edit */'; \ > - ls *.c 2> /dev/null | \ > - sed -e 's@\([^\.]*\)\.c@DEFINE_TEST(\1)@'; \ > + $$(shell (echo '/* Generated header, do not edit */'; \ > + sed -n -E 's/^void (serial_)?test_([a-zA-Z0-9_]+)\((void)?\).*/DEFINE_TEST(\2)/p' \ probably not that important : allow \s* before void and after void. Or, maybe we can just (?!static) instead of anchoring to line start. > + $(TRUNNER_TESTS_DIR)/*.c | sort ; \ to be super safe : maybe add a check here to ensure each file contains at least one test function. > ) > $$@) > endif > > -- > 2.30.2 >