mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-26 14:41:25 +00:00
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>
113 lines
3.5 KiB
Meson
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)
|