meson: add fuzz-tests= option

The slow-tests= option already enables fuzzers as well, however, this
option can't be used in the "fully sanitized" runs, as certain slow
tests are affected by the performance quite significantly.

This option allows us to enable only fuzzers without the slow tests to
meet the needs of such runs.
This commit is contained in:
Frantisek Sumsal 2020-05-21 16:59:40 +02:00
parent e72ecbf506
commit c56463fdb4
2 changed files with 6 additions and 3 deletions

View File

@ -308,6 +308,7 @@ meson_build_sh = find_program('tools/meson-build.sh')
want_tests = get_option('tests')
slow_tests = want_tests != 'false' and get_option('slow-tests')
fuzz_tests = want_tests != 'false' and get_option('fuzz-tests')
install_tests = get_option('install-tests')
if add_languages('cpp', required : fuzzer_build)
@ -3350,7 +3351,7 @@ foreach tuple : sanitizers
if name != prev
if want_tests == 'false'
message('Not compiling @0@ because tests is set to false'.format(name))
elif slow_tests
elif slow_tests or fuzz_tests
exe = custom_target(
name,
output : name,
@ -3360,12 +3361,12 @@ foreach tuple : sanitizers
'@OUTPUT@'],
build_by_default : true)
else
message('Not compiling @0@ because slow-tests is set to false'.format(name))
message('Not compiling @0@ because slow-tests/fuzz-tests is set to false'.format(name))
endif
endif
prev = name
if want_tests != 'false' and slow_tests
if want_tests != 'false' and (slow_tests or fuzz_tests)
test('@0@:@1@:@2@'.format(b, c, sanitizer),
env,
env : ['UBSAN_OPTIONS=print_stacktrace=1:print_summary=1:halt_on_error=1'],

View File

@ -351,6 +351,8 @@ option('tests', type : 'combo', choices : ['true', 'unsafe', 'false'],
description : 'enable extra tests with =unsafe')
option('slow-tests', type : 'boolean', value : 'false',
description : 'run the slow tests by default')
option('fuzz-tests', type : 'boolean', value : 'false',
description : 'run the fuzzer regression tests by default')
option('install-tests', type : 'boolean', value : 'false',
description : 'install test executables')