selftests: bpf: prepare for break up of verifier tests
test_verifier.c has grown to be very long (almost 16 kLoC), and it is very conflict prone since we always add tests at the end. Try to break it apart a little bit. Allow test snippets to be defined in separate files and include them automatically into the huge test array. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiong Wang <jiong.wang@netronome.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
ae575c8a98
commit
2dfb40121e
@ -212,4 +212,17 @@ ifeq ($(DWARF2BTF),y)
|
|||||||
$(BTF_PAHOLE) -J $@
|
$(BTF_PAHOLE) -J $@
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
$(OUTPUT)/test_verifier: $(OUTPUT)/verifier/tests.h
|
||||||
|
$(OUTPUT)/test_verifier: CFLAGS += -I$(OUTPUT)
|
||||||
|
|
||||||
|
VERIFIER_TEST_FILES := $(wildcard verifier/*.c)
|
||||||
|
$(OUTPUT)/verifier/tests.h: $(VERIFIER_TEST_FILES)
|
||||||
|
$(shell ( cd verifier/
|
||||||
|
echo '/* Generated header, do not edit */'; \
|
||||||
|
echo '#ifdef FILL_ARRAY'; \
|
||||||
|
ls *.c 2> /dev/null | \
|
||||||
|
sed -e 's@\(.*\)@#include \"\1\"@'; \
|
||||||
|
echo '#endif' \
|
||||||
|
) > $(OUTPUT)/verifier/tests.h)
|
||||||
|
|
||||||
EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(ALU32_BUILD_DIR)
|
EXTRA_CLEAN := $(TEST_CUSTOM_PROGS) $(ALU32_BUILD_DIR)
|
||||||
|
@ -248,6 +248,9 @@ static void bpf_fill_rand_ld_dw(struct bpf_test *self)
|
|||||||
BPF_ALU64_IMM(BPF_ARSH, BPF_REG_7, 32)
|
BPF_ALU64_IMM(BPF_ARSH, BPF_REG_7, 32)
|
||||||
|
|
||||||
static struct bpf_test tests[] = {
|
static struct bpf_test tests[] = {
|
||||||
|
#define FILL_ARRAY
|
||||||
|
#include <verifier/tests.h>
|
||||||
|
#undef FILL_ARRAY
|
||||||
{
|
{
|
||||||
"add+sub+mul",
|
"add+sub+mul",
|
||||||
.insns = {
|
.insns = {
|
||||||
|
1
tools/testing/selftests/bpf/verifier/.gitignore
vendored
Normal file
1
tools/testing/selftests/bpf/verifier/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
tests.h
|
Loading…
x
Reference in New Issue
Block a user