On Mon, Feb 22, 2021 at 3:25 PM Ilya Leoshkevich <iii@xxxxxxxxxxxxx> wrote: > > Building selftests in a separate directory like this: > > make O=... -C tools/testing/selftests/bpf > > and then running: > > ./test_progs -t btf > > causes all the non-flavored btf_dump_test_case_*.c tests to fail, > because these files are not copied to where test_progs expects to find > them. > > Fix by removing the flavored build check and using rsync instead of cp: > cp fails because e.g. urandom_read is being copied into itself, and > rsync simply skips such cases. rsync is used by kselftests elsewhere > and therefore is not a new dependency. So this leaves a bunch of non-ignored files in selftests/bpf directory: Untracked files: (use "git add <file>..." to include in what will be committed) btf_dump_test_case_bitfields.c btf_dump_test_case_multidim.c btf_dump_test_case_namespacing.c btf_dump_test_case_ordering.c btf_dump_test_case_packing.c btf_dump_test_case_padding.c btf_dump_test_case_syntax.c We can add them to .gitignore, but that feels wrong, to be honest. Any ideas how to fix this in some better way? > > Signed-off-by: Ilya Leoshkevich <iii@xxxxxxxxxxxxx> > --- > tools/testing/selftests/bpf/Makefile | 5 +---- > 1 file changed, 1 insertion(+), 4 deletions(-) > > diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile > index 044bfdcf5b74..192119f6aeb7 100644 > --- a/tools/testing/selftests/bpf/Makefile > +++ b/tools/testing/selftests/bpf/Makefile > @@ -382,12 +382,9 @@ $(TRUNNER_EXTRA_OBJS): $(TRUNNER_OUTPUT)/%.o: \ > $$(call msg,EXT-OBJ,$(TRUNNER_BINARY),$$@) > $(Q)$$(CC) $$(CFLAGS) -c $$< $$(LDLIBS) -o $$@ > > -# only copy extra resources if in flavored build > $(TRUNNER_BINARY)-extras: $(TRUNNER_EXTRA_FILES) | $(TRUNNER_OUTPUT) > -ifneq ($2,) > $$(call msg,EXT-COPY,$(TRUNNER_BINARY),$(TRUNNER_EXTRA_FILES)) > - $(Q)cp -a $$^ $(TRUNNER_OUTPUT)/ > -endif > + $(Q)rsync -aq $$^ $(TRUNNER_OUTPUT)/ > > $(OUTPUT)/$(TRUNNER_BINARY): $(TRUNNER_TEST_OBJS) \ > $(TRUNNER_EXTRA_OBJS) $$(BPFOBJ) \ > -- > 2.29.2 >