On Thu, May 21, 2020 at 9:14 PM Yauheni Kaliuta <yauheni.kaliuta@xxxxxxxxxx> wrote: > > There are problems with bpf test programs object files: > > 1) some of them are build for flavored test runner and should be > installed in the subdirectory; > 2) it's possible that the same file mentioned several times (added > for every different unflavored test runner); > 3) some generated files are not treated properly. > > Fix 1) by adding subdirectory to the list. rsync -a in the install > target will handle it. > > Fix 2) by filtering the list. Performance should not matter for such > amount of files. > > Fix 3) by use proper (TEST_GEN_FILES) variable for the list. > > Fixes: 309b81f0fdc4 ("selftests/bpf: Install generated test progs") > Fixes: e47a179997ce ("bpf, testing: Add missing object file to > TEST_FILES") > > Signed-off-by: Yauheni Kaliuta <yauheni.kaliuta@xxxxxxxxxx> > --- > tools/testing/selftests/bpf/Makefile | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index 19091dbc8ca4..1ba3d72c3261 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -42,8 +42,7 @@ ifneq ($(BPF_GCC),) > TEST_GEN_PROGS += test_progs-bpf_gcc > endif > > -TEST_GEN_FILES = > -TEST_FILES = test_lwt_ip_encap.o \ > +TEST_GEN_FILES = test_lwt_ip_encap.o \ > test_tc_edt.o > > BTF_C_FILES = $(wildcard progs/btf_dump_test_case_*.c) > @@ -273,7 +272,11 @@ TRUNNER_BPF_OBJS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.o, $$(TRUNNER_BPF_SRCS) > TRUNNER_BPF_SKELS := $$(patsubst %.c,$$(TRUNNER_OUTPUT)/%.skel.h, \ > $$(filter-out $(SKEL_BLACKLIST), \ > $$(TRUNNER_BPF_SRCS))) > -TEST_GEN_FILES += $$(TRUNNER_BPF_OBJS) > + > +TO_ADD := $(if $2,$$(TRUNNER_OUTPUT),$$(TRUNNER_BPF_OBJS)) > +$$(foreach i,$$(TO_ADD),\ > + $$(eval \ > + TEST_GEN_FILES += $$(if $$(filter $$i,$$(TEST_GEN_FILES)),,$$i))) This makes me cringe. Can we not have three levels of nested evals, please? I also didn't get exactly what's the problem you are trying to solve, could you give some example, please? > > # Evaluate rules now with extra TRUNNER_XXX variables above already defined > $$(eval $$(call DEFINE_TEST_RUNNER_RULES,$1,$2)) > -- > 2.26.2 >