spice/server/tests/meson.build
Frediano Ziglio fe1c25f530 test-listen: Use OpenSSL BIO instead of GIO library
test-listen using GIO had issues running under CI for a while.
GIO is reading some desktop configuration so it's not very CI
friendly.
So instead of using GIO use OpenSSL BIO. The code does not
get much bigger or complicated.
We are already using OpenSSL so we are not adding dependencies.

This fixes CI for Fedora 39 (just released and available on docker).

This allowed to remove an old workaround for GIO in .gitlab-ci.yml
(cfr commit 89edf80821
"ci: Workaround an issue with GLib on Fedora 30")

Signed-off-by: Frediano Ziglio <freddy77@gmail.com>
2023-11-22 07:36:40 +00:00

113 lines
3.5 KiB
Meson

test_lib_include = [spice_server_include, include_directories('.')]
test_lib_deps = spice_server_deps
test_lib_sources = [
'basic-event-loop.c',
'basic-event-loop.h',
'test-display-base.cpp',
'test-display-base.h',
'test-glib-compat.h',
'win-alarm.c',
'win-alarm.h',
'vmc-emu.cpp',
'vmc-emu.h',
]
test_libs = []
test_libs += static_library('testlib', test_lib_sources,
link_with: spice_server_static_lib,
include_directories : test_lib_include,
dependencies : test_lib_deps,
install : false)
stat_test_libs = {'testlib_stat1' : ['1', '0', '0'],
'testlib_stat2' : ['2', '0', '1'],
'testlib_stat3' : ['3', '1', '0'],
'testlib_stat4' : ['4', '1', '1']}
foreach lib, params : stat_test_libs
test_libs += static_library(lib, 'stat-test.c',
c_args : ['-DTEST_NAME=stat_test@0@'.format(params[0]),
'-DTEST_COMPRESS_STAT=@0@'.format(params[1]),
'-DTEST_RED_WORKER_STAT=@0@'.format(params[2])],
include_directories : test_lib_include,
dependencies : test_lib_deps,
install : false)
endforeach
tests = [
['test-codecs-parsing', true],
['test-dispatcher', true, 'cpp'],
['test-options', true],
['test-stat', true],
['test-agent-msg-filter', true],
['test-loop', true],
['test-qxl-parsing', true, 'cpp'],
['test-leaks', true],
['test-vdagent', true],
['test-fail-on-null-core-interface', true],
['test-empty-success', true],
['test-channel', true, 'cpp'],
['test-stream-device', true, 'cpp'],
['test-set-ticket', true],
['test-listen', true],
['test-record', true],
['test-display-no-ssl', false],
['test-display-streaming', false],
['test-playback', false],
['test-display-resolution-changes', false],
['test-two-servers', false],
['test-display-width-stride', false],
]
if spice_server_has_sasl
tests += [['test-sasl', true]]
endif
if spice_server_has_smartcard == true
tests += [['test-smartcard', true, 'cpp']]
endif
if host_machine.system() != 'windows'
tests += [
['test-stream', true],
['test-stat-file', true],
['test-websocket', false],
]
endif
if spice_server_has_gstreamer
tests += [['test-gst', false, 'cpp']]
if get_option('extra-checks')
test('test-video-encoders', files('test-video-encoders'))
endif
endif
foreach t : tests
test_name = t[0]
is_test = t[1]
if t.length() > 2
language = t[2]
else
language = 'c'
endif
exe = executable(test_name,
sources : '@0@.@1@'.format(test_name, language),
link_with : test_libs,
include_directories : test_lib_include,
c_args : ['-DSPICE_TOP_SRCDIR="@0@"'.format(meson.source_root())],
cpp_args : ['-DSPICE_TOP_SRCDIR="@0@"'.format(meson.source_root())],
dependencies : test_lib_deps,
install : false)
if is_test
test(test_name, exe)
endif
endforeach
executable('spice-server-replay',
sources : ['replay.c', join_paths('..', 'event-loop.c'), 'basic-event-loop.c', 'basic-event-loop.h'],
link_with : spice_server_shared_lib,
include_directories : test_lib_include,
dependencies : test_lib_deps,
install : false)