mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-01-08 21:17:47 +03:00
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:
parent
e72ecbf506
commit
c56463fdb4
@ -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'],
|
||||
|
@ -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')
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user