draconisplusplus/subprojects/curl-8.10.1/tests/meson.build

144 lines
3.1 KiB
Meson
Raw Normal View History

2025-02-20 14:49:18 -05:00
buildinfo_cfg = {
'build_backend' : meson.backend(),
'build_cpu' : build_machine.cpu(),
'build_system' : build_machine.system(),
'compiler_id' : cc.get_id(),
'compiler_version': cc.version(),
'host_cpu' : host_machine.cpu(),
'host_system' : host_machine.system(),
'meson_version' : meson.version(),
}
if meson.version().version_compare('>=1.1.0')
buildinfo_cfg += {'build_options': meson.build_options()}
endif
configure_file(
configuration: buildinfo_cfg,
input: '../meson/buildinfo.txt.meson',
output: 'buildinfo.txt',
)
libtest_targets = []
server_targets = []
unit_targets = []
subdir('log')
# Extract test targets info.
makefile_extractions = (
{
'libtest': '',
'server': '',
} + (
build_unittests.found() ? {
'unit': '',
} : {}
)
)
foreach _subdir : makefile_extractions.keys()
makefile_extractions += {
_subdir: run_command(
[
make_exe,
'--silent',
'-C', meson.project_source_root(),
'-f', files('../meson/extract.mk'),
'tests' / _subdir,
],
check: true,
env: 'MAKEFLAGS=',
).stdout().strip().split('\n'),
}
subdir(_subdir)
endforeach
_builddir = meson.current_build_dir()
_srcdir = meson.current_source_dir()
_env = environment()
_env.set('srcdir', fs.as_posix(_srcdir))
if host_machine.system() == 'windows'
foreach _component : [
'TOOL',
'SRV',
]
_env.set('CURL_TEST_EXE_EXT_' + _component, '.exe')
endforeach
_libcurl_dir = meson.project_build_root() / 'lib'
_env.prepend('PATH', _libcurl_dir.replace('/', '\\'))
endif
_disabled_tests = []
# Do not run flaky tests.
_disabled_tests += '!flaky'
# We don't build the doc.
_disabled_tests += '!1177'
# We don't build man pages either.
_disabled_tests += ['!1139', '!1140', '!1173']
if not fs.exists('errorcodes.pl')
# Missing in git checkout.
_disabled_tests += '!1477'
endif
if host_machine.system() == 'darwin'
# Some preprocessor issue prevent those 2
# source analysis tests from succeeding.
_disabled_tests += ['!1119', '!1167']
endif
if not get_option('curldebug')
_disabled_tests += [
'!356',
'!358',
'!359',
'!412',
'!413',
'!437',
'!446',
'!823',
'!869',
'!907',
'!1908',
'!1972',
'!2100',
'!2300',
'!2301',
'!2302',
'!2303',
'!2304',
'!2307',
]
endif
if ipv6_opt.disabled()
_disabled_tests += '!1614'
endif
_kwargs = {
'args': [
'-c',
'exec perl "$@"',
'--',
'-I' + fs.as_posix(_srcdir),
fs.as_posix(_srcdir / 'runtests.pl'),
# Continue even if a test fails.
'-a',
# Use this curl executable.
'-c',
fs.as_posix(curl_exe.full_path()),
# No valgrind.
'-n',
# Print log file contents on failure.
'-p',
# Verbose.
# '-v',
_disabled_tests,
],
'depends': [curl_exe, libtest_targets, server_targets, unit_targets],
'env': _env,
'is_parallel': false,
'timeout': 0,
'workdir': _builddir,
}
if meson.version().version_compare('>=0.62.0')
test('runtests', bash_exe, kwargs: _kwargs + {'verbose': true})
else
test('runtests', bash_exe, kwargs: _kwargs)
endif