forked from mirrors/linux
		
	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
					
				
					 3 changed files with 17 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -212,4 +212,17 @@ ifeq ($(DWARF2BTF),y)
 | 
			
		|||
	$(BTF_PAHOLE) -J $@
 | 
			
		||||
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)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -248,6 +248,9 @@ static void bpf_fill_rand_ld_dw(struct bpf_test *self)
 | 
			
		|||
	BPF_ALU64_IMM(BPF_ARSH, BPF_REG_7, 32)
 | 
			
		||||
 | 
			
		||||
static struct bpf_test tests[] = {
 | 
			
		||||
#define FILL_ARRAY
 | 
			
		||||
#include <verifier/tests.h>
 | 
			
		||||
#undef FILL_ARRAY
 | 
			
		||||
	{
 | 
			
		||||
		"add+sub+mul",
 | 
			
		||||
		.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…
	
		Reference in a new issue