meson: wire up fuzzers
Meson does not yet know to build our fuzzers. Introduce a new build option "fuzzers" and wire up the fuzzers in case it is enabled. Adapt our CI jobs so that they build the fuzzers by default. Signed-off-by: Patrick Steinhardt <ps@pks.im> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
		
				
					committed by
					
						
						Junio C Hamano
					
				
			
			
				
	
			
			
			
						parent
						
							88d4bff8c3
						
					
				
				
					commit
					28911f7dca
				
			@ -53,7 +53,8 @@ case "$jobname" in
 | 
			
		||||
*-meson)
 | 
			
		||||
	group "Configure" meson setup build . \
 | 
			
		||||
		--warnlevel 2 --werror \
 | 
			
		||||
		--wrap-mode nofallback
 | 
			
		||||
		--wrap-mode nofallback \
 | 
			
		||||
		-Dfuzzers=true
 | 
			
		||||
	group "Build" meson compile -C build --
 | 
			
		||||
	if test -n "$run_tests"
 | 
			
		||||
	then
 | 
			
		||||
 | 
			
		||||
@ -1906,6 +1906,10 @@ if get_option('tests')
 | 
			
		||||
  subdir('t')
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
if get_option('fuzzers')
 | 
			
		||||
  subdir('oss-fuzz')
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
subdir('bin-wrappers')
 | 
			
		||||
if get_option('docs') != []
 | 
			
		||||
  subdir('Documentation')
 | 
			
		||||
 | 
			
		||||
@ -95,3 +95,5 @@ option('tests', type: 'boolean', value: true,
 | 
			
		||||
  description: 'Enable building tests. This requires Perl, but is separate from the "perl" option such that you can build tests without Perl features enabled.')
 | 
			
		||||
option('test_output_directory', type: 'string',
 | 
			
		||||
  description: 'Path to the directory used to store test outputs')
 | 
			
		||||
option('fuzzers', type: 'boolean', value: false,
 | 
			
		||||
  description: 'Enable building fuzzers.')
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								oss-fuzz/meson.build
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								oss-fuzz/meson.build
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,20 @@
 | 
			
		||||
fuzz_programs = [
 | 
			
		||||
  'fuzz-commit-graph.c',
 | 
			
		||||
  'fuzz-config.c',
 | 
			
		||||
  'fuzz-credential-from-url-gently.c',
 | 
			
		||||
  'fuzz-date.c',
 | 
			
		||||
  'fuzz-pack-headers.c',
 | 
			
		||||
  'fuzz-pack-idx.c',
 | 
			
		||||
  'fuzz-parse-attr-line.c',
 | 
			
		||||
  'fuzz-url-decode-mem.c',
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
foreach fuzz_program : fuzz_programs
 | 
			
		||||
  executable(fs.stem(fuzz_program),
 | 
			
		||||
    sources: [
 | 
			
		||||
      'dummy-cmd-main.c',
 | 
			
		||||
      fuzz_program,
 | 
			
		||||
    ],
 | 
			
		||||
    dependencies: [libgit, common_main],
 | 
			
		||||
  )
 | 
			
		||||
endforeach
 | 
			
		||||
		Reference in New Issue
	
	Block a user