77 lines
1.4 KiB
Meson
77 lines
1.4 KiB
Meson
# tests: pytests
|
|
# SPDX-License-Identifier: GPL-3.0-or-later
|
|
|
|
# python 3 dependencies
|
|
py3_deps += [
|
|
['jinja2', 'jinja2 (for pytests)'],
|
|
['dns', 'dnspython (for pytests)'],
|
|
['pytest', 'pytest (for pytests)'],
|
|
['pytest_html', 'pytest-html (for pytests)'],
|
|
['xdist', 'pytest-xdist (for pytests)'],
|
|
]
|
|
|
|
if gnutls.version().version_compare('<3.6.4')
|
|
error('pytests require GnuTLS >= 3.6.4')
|
|
endif
|
|
|
|
# compile tlsproxy
|
|
tlsproxy_src = files([
|
|
'proxy/tlsproxy.c',
|
|
'proxy/tls-proxy.c',
|
|
])
|
|
tlsproxy = executable(
|
|
'tlsproxy',
|
|
tlsproxy_src,
|
|
dependencies: [
|
|
libkres_dep,
|
|
libuv,
|
|
gnutls,
|
|
],
|
|
)
|
|
|
|
# path to kresd and tlsproxy
|
|
pytests_env = environment()
|
|
pytests_env.prepend('PATH', sbin_dir, meson.current_build_dir())
|
|
|
|
test(
|
|
'pytests.parallel',
|
|
python3,
|
|
args: [
|
|
'-m', 'pytest',
|
|
'-d',
|
|
'--html', 'pytests.parallel.html',
|
|
'--self-contained-html',
|
|
'--junitxml=pytests.parallel.junit.xml',
|
|
'-n', '24',
|
|
'-v',
|
|
],
|
|
env: pytests_env,
|
|
suite: [
|
|
'postinstall',
|
|
'pytests',
|
|
],
|
|
workdir: meson.current_source_dir(),
|
|
is_parallel: false,
|
|
timeout: 180,
|
|
depends: tlsproxy,
|
|
)
|
|
|
|
test(
|
|
'pytests.single',
|
|
python3,
|
|
args: [
|
|
'-m', 'pytest',
|
|
'--junitxml=pytests.single.junit.xml',
|
|
'-ra',
|
|
'--capture=no',
|
|
'conn_flood.py',
|
|
],
|
|
env: pytests_env,
|
|
suite: [
|
|
'postinstall',
|
|
'pytests',
|
|
],
|
|
workdir: meson.current_source_dir(),
|
|
is_parallel: false,
|
|
timeout: 240,
|
|
)
|