* [PATCH bpf-next] selftests/bpf: Include build flavors for install target
@ 2023-08-28 18:33 Björn Töpel
2023-08-31 12:29 ` Daniel Borkmann
0 siblings, 1 reply; 3+ messages in thread
From: Björn Töpel @ 2023-08-28 18:33 UTC (permalink / raw)
To: Andrii Nakryiko, Mykola Lysenko, bpf
Cc: Björn Töpel, Alexei Starovoitov, Daniel Borkmann,
linux-kselftest, linux-kernel
From: Björn Töpel <bjorn@rivosinc.com>
When using the "install" or targets depending on install,
e.g. "gen_tar", the BPF machine flavors weren't included.
A command like:
| make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- O=/workspace/kbuild \
| HOSTCC=gcc FORMAT= SKIP_TARGETS="arm64 ia64 powerpc sparc64 x86 sgx" \
| -C tools/testing/selftests gen_tar
would not include bpf/no_alu32, bpf/cpuv4, or bpf/bpf-gcc.
Include the BPF machine flavors for "install" make target.
Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
---
tools/testing/selftests/bpf/Makefile | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index edef49fcd23e..7c77a21c3371 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -598,12 +598,14 @@ $(eval $(call DEFINE_TEST_RUNNER,test_progs))
TRUNNER_BPF_BUILD_RULE := CLANG_NOALU32_BPF_BUILD_RULE
TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS)
$(eval $(call DEFINE_TEST_RUNNER,test_progs,no_alu32))
+INSTDIRS := no_alu32
# Define test_progs-cpuv4 test runner.
ifneq ($(CLANG_CPUV4),)
TRUNNER_BPF_BUILD_RULE := CLANG_CPUV4_BPF_BUILD_RULE
TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(CLANG_CFLAGS)
$(eval $(call DEFINE_TEST_RUNNER,test_progs,cpuv4))
+INSTDIRS += cpuv4
endif
# Define test_progs BPF-GCC-flavored test runner.
@@ -611,6 +613,7 @@ ifneq ($(BPF_GCC),)
TRUNNER_BPF_BUILD_RULE := GCC_BPF_BUILD_RULE
TRUNNER_BPF_CFLAGS := $(BPF_CFLAGS) $(call get_sys_includes,gcc,)
$(eval $(call DEFINE_TEST_RUNNER,test_progs,bpf_gcc))
+INSTDIRS += bpf_gcc
endif
# Define test_maps test runner.
@@ -714,3 +717,12 @@ EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(SCRATCH_DIR) $(HOST_SCRATCH_DIR) \
# Delete partially updated (corrupted) files on error
.DELETE_ON_ERROR:
+
+DEFAULT_INSTALL_RULE := $(INSTALL_RULE)
+override define INSTALL_RULE
+ $(DEFAULT_INSTALL_RULE)
+ @for DIR in $(INSTDIRS); do \
+ mkdir -p $(INSTALL_PATH)/$$DIR; \
+ rsync -a $(OUTPUT)/$$DIR/*.bpf.o $(INSTALL_PATH)/$$DIR;\
+ done
+endef
base-commit: 8be6f88b9d3fe1f6724daec4a70d6023742c9df7
--
2.39.2
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Include build flavors for install target
2023-08-28 18:33 [PATCH bpf-next] selftests/bpf: Include build flavors for install target Björn Töpel
@ 2023-08-31 12:29 ` Daniel Borkmann
2023-08-31 16:18 ` Björn Töpel
0 siblings, 1 reply; 3+ messages in thread
From: Daniel Borkmann @ 2023-08-31 12:29 UTC (permalink / raw)
To: Björn Töpel, Andrii Nakryiko, Mykola Lysenko, bpf
Cc: Björn Töpel, Alexei Starovoitov, linux-kselftest,
linux-kernel
On 8/28/23 8:33 PM, Björn Töpel wrote:
> From: Björn Töpel <bjorn@rivosinc.com>
>
> When using the "install" or targets depending on install,
> e.g. "gen_tar", the BPF machine flavors weren't included.
>
> A command like:
> | make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- O=/workspace/kbuild \
> | HOSTCC=gcc FORMAT= SKIP_TARGETS="arm64 ia64 powerpc sparc64 x86 sgx" \
> | -C tools/testing/selftests gen_tar
> would not include bpf/no_alu32, bpf/cpuv4, or bpf/bpf-gcc.
>
> Include the BPF machine flavors for "install" make target.
>
> Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
Looks good and BPF CI also seems to be fine with it, wrt INSTDIRS could we use
a more appropriate location where we define it? Was thinking sth like:
diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
index 7c77a21c3371..8b724efb8b7f 100644
--- a/tools/testing/selftests/bpf/Makefile
+++ b/tools/testing/selftests/bpf/Makefile
@@ -50,14 +50,17 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test
test_cgroup_storage \
test_tcpnotify_user test_sysctl \
test_progs-no_alu32
+TEST_INST_SUBDIRS := no_alu32
# Also test bpf-gcc, if present
ifneq ($(BPF_GCC),)
TEST_GEN_PROGS += test_progs-bpf_gcc
+TEST_INST_SUBDIRS += bpf_gcc
endif
ifneq ($(CLANG_CPUV4),)
TEST_GEN_PROGS += test_progs-cpuv4
+TEST_INST_SUBDIRS += cpuv4
endif
[...]
Thanks,
Daniel
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH bpf-next] selftests/bpf: Include build flavors for install target
2023-08-31 12:29 ` Daniel Borkmann
@ 2023-08-31 16:18 ` Björn Töpel
0 siblings, 0 replies; 3+ messages in thread
From: Björn Töpel @ 2023-08-31 16:18 UTC (permalink / raw)
To: Daniel Borkmann, Andrii Nakryiko, Mykola Lysenko, bpf
Cc: Björn Töpel, Alexei Starovoitov, linux-kselftest,
linux-kernel
Daniel Borkmann <daniel@iogearbox.net> writes:
> On 8/28/23 8:33 PM, Björn Töpel wrote:
>> From: Björn Töpel <bjorn@rivosinc.com>
>>
>> When using the "install" or targets depending on install,
>> e.g. "gen_tar", the BPF machine flavors weren't included.
>>
>> A command like:
>> | make ARCH=riscv CROSS_COMPILE=riscv64-linux-gnu- O=/workspace/kbuild \
>> | HOSTCC=gcc FORMAT= SKIP_TARGETS="arm64 ia64 powerpc sparc64 x86 sgx" \
>> | -C tools/testing/selftests gen_tar
>> would not include bpf/no_alu32, bpf/cpuv4, or bpf/bpf-gcc.
>>
>> Include the BPF machine flavors for "install" make target.
>>
>> Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
>
> Looks good and BPF CI also seems to be fine with it, wrt INSTDIRS could we use
> a more appropriate location where we define it? Was thinking sth like:
>
> diff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile
> index 7c77a21c3371..8b724efb8b7f 100644
> --- a/tools/testing/selftests/bpf/Makefile
> +++ b/tools/testing/selftests/bpf/Makefile
> @@ -50,14 +50,17 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test
> test_cgroup_storage \
> test_tcpnotify_user test_sysctl \
> test_progs-no_alu32
> +TEST_INST_SUBDIRS := no_alu32
>
> # Also test bpf-gcc, if present
> ifneq ($(BPF_GCC),)
> TEST_GEN_PROGS += test_progs-bpf_gcc
> +TEST_INST_SUBDIRS += bpf_gcc
> endif
>
> ifneq ($(CLANG_CPUV4),)
> TEST_GEN_PROGS += test_progs-cpuv4
> +TEST_INST_SUBDIRS += cpuv4
> endif
>
> [...]
Ok! I'll spin a v2!
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2023-08-31 16:18 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-08-28 18:33 [PATCH bpf-next] selftests/bpf: Include build flavors for install target Björn Töpel
2023-08-31 12:29 ` Daniel Borkmann
2023-08-31 16:18 ` Björn Töpel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).