From c56463fdb40ba505b807739b023e9489c6ac182d Mon Sep 17 00:00:00 2001 From: Frantisek Sumsal Date: Thu, 21 May 2020 16:59:40 +0200 Subject: [PATCH] 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. --- meson.build | 7 ++++--- meson_options.txt | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/meson.build b/meson.build index 20cb2b88a2..b87d5c63a3 100644 --- a/meson.build +++ b/meson.build @@ -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'], diff --git a/meson_options.txt b/meson_options.txt index e9fff1660c..d5ed2a7a42 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -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')