Re: [PATCH bpf-next v5 9/9] selftest/bpf: Implement tests for bpftool gen min_core_btf
flat view
From: Quentin Monnet <hidden>
Date: 2022-02-01 20:58:00
Also in:
bpf
2022-01-28 17:33 UTC-0500 ~ Mauricio Vásquez [off-list ref]
quoted hunk ↗ jump to hunk
This commit implements some integration tests for "BTFGen". The goal of such tests is to verify that the generated BTF file contains the expected types. Signed-off-by: Mauricio Vásquez <redacted> Signed-off-by: Rafael David Tinoco <redacted> Signed-off-by: Lorenzo Fontana <redacted> Signed-off-by: Leonardo Di Donato <redacted> --- tools/testing/selftests/bpf/.gitignore | 1 + tools/testing/selftests/bpf/Makefile | 4 +- .../selftests/bpf/progs/btfgen_btf_source.c | 12 + .../bpf/progs/btfgen_primitives_array.c | 39 +++ .../bpf/progs/btfgen_primitives_struct.c | 40 +++ .../bpf/progs/btfgen_primitives_struct2.c | 44 ++++ .../bpf/progs/btfgen_primitives_union.c | 32 +++ tools/testing/selftests/bpf/test_bpftool.c | 228 ++++++++++++++++++ 8 files changed, 399 insertions(+), 1 deletion(-) create mode 100644 tools/testing/selftests/bpf/progs/btfgen_btf_source.c create mode 100644 tools/testing/selftests/bpf/progs/btfgen_primitives_array.c create mode 100644 tools/testing/selftests/bpf/progs/btfgen_primitives_struct.c create mode 100644 tools/testing/selftests/bpf/progs/btfgen_primitives_struct2.c create mode 100644 tools/testing/selftests/bpf/progs/btfgen_primitives_union.c create mode 100644 tools/testing/selftests/bpf/test_bpftool.cdiff --git a/tools/testing/selftests/bpf/.gitignore b/tools/testing/selftests/bpf/.gitignore index 1dad8d617da8..308cd5b9cfc4 100644 --- a/tools/testing/selftests/bpf/.gitignore +++ b/tools/testing/selftests/bpf/.gitignore@@ -41,3 +41,4 @@ test_cpp *.tmp xdpxceiver xdp_redirect_multi +test_bpftooldiff --git a/tools/testing/selftests/bpf/Makefile b/tools/testing/selftests/bpf/Makefile index 945f92d71db3..afc9bff6545d 100644 --- a/tools/testing/selftests/bpf/Makefile +++ b/tools/testing/selftests/bpf/Makefile@@ -38,7 +38,8 @@ TEST_GEN_PROGS = test_verifier test_tag test_maps test_lru_map test_lpm_map test test_sock test_sockmap get_cgroup_id_user \ test_cgroup_storage \ test_tcpnotify_user test_sysctl \ - test_progs-no_alu32 + test_progs-no_alu32 \ + test_bpftool
Do you think we could rename this file to something like “test_bpftool_min_core_btf”? We already have a “test_bpftool.py” and I fear it might lead to confusion.
quoted hunk ↗ jump to hunk
# Also test bpf-gcc, if present ifneq ($(BPF_GCC),)@@ -212,6 +213,7 @@ $(OUTPUT)/xdping: $(TESTING_HELPERS) $(OUTPUT)/flow_dissector_load: $(TESTING_HELPERS) $(OUTPUT)/test_maps: $(TESTING_HELPERS) $(OUTPUT)/test_verifier: $(TESTING_HELPERS) +$(OUTPUT)/test_bpftool: BPFTOOL ?= $(DEFAULT_BPFTOOL) $(DEFAULT_BPFTOOL): $(wildcard $(BPFTOOLDIR)/*.[ch] $(BPFTOOLDIR)/Makefile) \
quoted hunk ↗ jump to hunk
diff --git a/tools/testing/selftests/bpf/test_bpftool.c b/tools/testing/selftests/bpf/test_bpftool.c new file mode 100644 index 000000000000..ca7facc582d5 --- /dev/null +++ b/tools/testing/selftests/bpf/test_bpftool.c@@ -0,0 +1,228 @@ +// SPDX-License-Identifier: GPL-2.0-only
Not sure if it is intentional to use “GPL-2.0-only” where the other files in your patch have “GPL-2.0”. But I don't believe it matters much anyway.