summaryrefslogtreecommitdiff
path: root/tests/meson.build
diff options
context:
space:
mode:
Diffstat (limited to 'tests/meson.build')
-rw-r--r--tests/meson.build118
1 files changed, 70 insertions, 48 deletions
diff --git a/tests/meson.build b/tests/meson.build
index cb056a30..fc1cb3f7 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -23,6 +23,23 @@ test_resources = gnome.compile_resources('soup-tests',
install_dir : installed_tests_execdir,
)
+if gnutls_dep.found()
+ mock_pkcs11_module = shared_module('mock-pkcs11',
+ sources: 'mock-pkcs11.c',
+ name_prefix: '',
+ gnu_symbol_visibility: 'hidden',
+ include_directories: include_directories('pkcs11'),
+ dependencies: [
+ gio_dep,
+ gnutls_dep,
+ ],
+ install: installed_tests_enabled,
+ install_dir: installed_tests_execdir
+ )
+else
+ mock_pkcs11_module = []
+endif
+
configure_file(input : 'index.txt',
output : 'index.txt',
copy : true)
@@ -50,37 +67,42 @@ endif
# ['name', is_parallel, extra_deps]
tests = [
- ['cache', true, []],
- ['chunk-io', true, []],
- ['coding', true, []],
- ['context', true, []],
- ['continue', true, []],
- ['cookies', true, []],
- ['date', true, []],
- ['forms', true, []],
- ['header-parsing', true, []],
- ['http2-body-stream', true, []],
- ['hsts', true, []],
- ['hsts-db', true, []],
- ['logger', true, []],
- ['misc', true, []],
- ['multipart', true, []],
- ['no-ssl', true, []],
- ['ntlm', true, []],
- ['redirect', true, []],
- ['request-body', true, []],
- ['samesite', true, []],
- ['session', true, []],
- ['server-auth', true, []],
- ['server', true, []],
- ['sniffing', true, []],
- ['socket', true, []],
- ['ssl', true, []],
- ['streaming', true, []],
- ['timeout', true, []],
- ['tld', true, []],
- ['uri-parsing', true, []],
- ['websocket', true, [libz_dep]]
+ {'name': 'cache'},
+ {'name': 'chunk-io'},
+ {'name': 'coding'},
+ {'name': 'context'},
+ {'name': 'continue'},
+ {'name': 'cookies'},
+ {'name': 'date'},
+ {'name': 'forms'},
+ {'name': 'header-parsing'},
+ {'name': 'http2-body-stream'},
+ {'name': 'hsts'},
+ {'name': 'hsts-db'},
+ {'name': 'logger'},
+ {'name': 'misc'},
+ {'name': 'multipart'},
+ {'name': 'no-ssl'},
+ {'name': 'ntlm'},
+ {'name': 'redirect'},
+ {'name': 'request-body'},
+ {'name': 'samesite'},
+ {'name': 'session'},
+ {'name': 'server-auth'},
+ {'name': 'server'},
+ {'name': 'sniffing'},
+ {'name': 'socket'},
+ {'name': 'ssl',
+ 'dependencies': [gnutls_dep],
+ 'depends': mock_pkcs11_module,
+ 'c_args': '-DHAVE_GNUTLS=@0@'.format(gnutls_dep.found() ? 1 : 0),
+ },
+ {'name': 'streaming'},
+ {'name': 'timeout'},
+ {'name': 'tld'},
+ {'name': 'uri-parsing'},
+ {'name': 'websocket',
+ 'dependencies': [libz_dep]},
]
if quart_found
@@ -88,15 +110,11 @@ if quart_found
output : 'http2-server.py',
copy : true)
- tests += [
- ['http2', true, []],
- ]
+ tests += [{'name': 'http2'}]
endif
if brotlidec_dep.found()
- tests += [
- ['brotli-decompressor', true, []],
- ]
+ tests += [{'name': 'brotli-decompressor'}]
if installed_tests_enabled
install_data(
@@ -109,17 +127,18 @@ if brotlidec_dep.found()
endif
if unix_socket_dep.found()
- tests += [
- ['unix-socket', true, [ unix_socket_dep ]],
- ]
+ tests += [{
+ 'name': 'unix-socket',
+ 'dependencies': [unix_socket_dep],
+ }]
endif
if have_apache
tests += [
- ['auth', false, []],
- ['connection', false, []],
- ['range', false, []],
- ['proxy', false, []],
+ {'name': 'auth', 'parallel': false},
+ {'name': 'connection', 'parallel': false},
+ {'name': 'range', 'parallel': false},
+ {'name': 'proxy', 'parallel': false},
]
configure_file(output : 'httpd.conf',
@@ -164,14 +183,14 @@ if have_autobahn
endif
foreach test: tests
- test_name = '@0@-test'.format(test[0])
+ test_name = '@0@-test'.format(test['name'])
if installed_tests_enabled
test_conf = configuration_data()
test_conf.set('installed_tests_dir', abs_installed_tests_execdir)
test_conf.set('program', test_name)
test_conf.set('env', '')
- test_conf.set('type', test[1] ? 'session' : 'session-exclusive')
+ test_conf.set('type', test.get('parallel', true) ? 'session' : 'session-exclusive')
configure_file(
input : installed_tests_template_tap,
output : test_name + '.test',
@@ -180,9 +199,11 @@ foreach test: tests
)
endif
- test_deps = [ libsoup_static_dep ] + test[2]
+ test_deps = [ libsoup_static_dep ] + test.get('dependencies', [])
test_target = executable(test_name,
sources : [ test_name + '.c', test_resources ],
+ c_args : test.get('c_args', []),
+ include_directories : test.get('includes', []),
link_with : test_utils,
dependencies : test_deps,
install : installed_tests_enabled,
@@ -194,7 +215,8 @@ foreach test: tests
test(test_name, test_target,
args : ['--debug'],
env : env,
- is_parallel : test[1],
+ is_parallel : test.get('parallel', true),
+ depends : test.get('depends', []),
timeout : 60,
protocol : 'tap',
)