mirror of
https://gitlab.uni-freiburg.de/opensourcevdi/spice
synced 2025-12-26 22:48:19 +00:00
116 lines
3.5 KiB
Meson
116 lines
3.5 KiB
Meson
test_lib_include = [spice_server_include, include_directories('.')]
|
|
test_lib_deps = [spice_server_deps]
|
|
if host_machine.system() != 'windows'
|
|
test_lib_deps += [dependency('gio-unix-2.0')]
|
|
endif
|
|
|
|
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],
|
|
['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)
|