mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
fb53316fde
they should be tested without optional dependecines as well. CIFuzz kind of covers that but let's just make sure local builds are fine as well.
40 lines
1.6 KiB
Meson
40 lines
1.6 KiB
Meson
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
|
|
sanitize_address_undefined = custom_target(
|
|
'sanitize-address-undefined-fuzzers',
|
|
output : 'sanitize-address-undefined-fuzzers',
|
|
command : [meson_build_sh,
|
|
project_source_root,
|
|
'@OUTPUT@',
|
|
'fuzzers',
|
|
'-Dfuzz-tests=true -Db_lundef=false -Db_sanitize=address,undefined --optimization=@0@ @1@ -Dc_args=@2@ -Dcpp_args=@2@ -Dskip-deps=@3@'.format(
|
|
get_option('optimization'),
|
|
get_option('werror') ? '--werror' : '',
|
|
'-DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION',
|
|
get_option('skip-deps')
|
|
),
|
|
' '.join(cc.cmd_array()),
|
|
cxx_cmd])
|
|
|
|
sanitizers = [['address,undefined', sanitize_address_undefined]]
|
|
|
|
if git.found() and fs.exists(project_source_root / '.git')
|
|
out = run_command(env, '-u', 'GIT_WORK_TREE',
|
|
git, '--git-dir=@0@/.git'.format(project_source_root),
|
|
'ls-files', ':/test/fuzz/*/*',
|
|
check: true)
|
|
else
|
|
out = run_command(sh, '-c', 'cd "@0@"; echo test/fuzz/*/*'.format(project_source_root), check: true)
|
|
endif
|
|
|
|
fuzz_regression_tests = []
|
|
foreach p : out.stdout().split()
|
|
# Remove the last entry which is ''.
|
|
#
|
|
# Also, backslashes get mangled, so skip test. See
|
|
# https://github.com/mesonbuild/meson/issues/1564.
|
|
if not p.contains('\\')
|
|
fuzz_regression_tests += p
|
|
endif
|
|
endforeach
|