99 lines
2.1 KiB
Meson
99 lines
2.1 KiB
Meson
|
|
if valgrind.found()
|
|
valgrind_common_wrapper = [
|
|
valgrind,
|
|
'--quiet',
|
|
'--track-origins=yes',
|
|
'--error-exitcode=1',
|
|
'--exit-on-first-error=yes',
|
|
'--leak-check=full',
|
|
]
|
|
|
|
valgrind_unit_wrapper = valgrind_common_wrapper + [
|
|
'--suppressions=' + ( meson.current_source_dir() / 'valgrind.supp' ),
|
|
'--show-leak-kinds=all',
|
|
]
|
|
if meson.version().version_compare('<0.57.0')
|
|
add_test_setup('valgrind',
|
|
exe_wrapper: valgrind_unit_wrapper)
|
|
else
|
|
add_test_setup('valgrind',
|
|
exclude_suites: ['functional', 'pyunit', 'style'],
|
|
exe_wrapper: valgrind_unit_wrapper)
|
|
endif
|
|
endif
|
|
|
|
unit_tests_sources = [
|
|
'unit-tests.c',
|
|
'mocks.c',
|
|
'../lib/dma.c',
|
|
'../lib/irq.c',
|
|
'../lib/libvfio-user.c',
|
|
'../lib/migration.c',
|
|
'../lib/pci.c',
|
|
'../lib/pci_caps.c',
|
|
'../lib/tran.c',
|
|
'../lib/tran_pipe.c',
|
|
'../lib/tran_sock.c',
|
|
]
|
|
|
|
unit_tests_deps = [
|
|
json_c_dep,
|
|
cmocka_dep,
|
|
dl_dep,
|
|
]
|
|
unit_tests_cflags = [
|
|
'-DUNIT_TEST',
|
|
'-DWITH_TRAN_PIPE',
|
|
]
|
|
|
|
unit_tests = executable(
|
|
'unit_tests',
|
|
unit_tests_sources,
|
|
c_args: unit_tests_cflags + common_cflags,
|
|
dependencies: unit_tests_deps,
|
|
include_directories: public_include_dir + lib_include_dir,
|
|
install: false,
|
|
)
|
|
|
|
test(
|
|
'unit_tests',
|
|
unit_tests,
|
|
suite: 'unit',
|
|
)
|
|
|
|
test(
|
|
'test-lspci',
|
|
find_program('test-lspci.sh'),
|
|
suite: 'functional',
|
|
args: [lspci],
|
|
)
|
|
|
|
csenv = []
|
|
if opt_sanitizers != 'none'
|
|
csenv += ['WITH_ASAN=1']
|
|
endif
|
|
|
|
test(
|
|
'test-client-server',
|
|
find_program('test-client-server.sh'),
|
|
env: csenv,
|
|
suite: 'functional',
|
|
args: [client, server],
|
|
timeout: 90,
|
|
)
|
|
|
|
if opt_sanitizers == 'none' and meson.version().version_compare('>=0.56.0')
|
|
test(
|
|
'test-linkage.sh',
|
|
find_program('test-linkage.sh'),
|
|
suite: 'functional',
|
|
args: [
|
|
meson.project_source_root(),
|
|
meson.project_build_root(),
|
|
' '.join(cc.cmd_array()),
|
|
]
|
|
)
|
|
endif
|
|
|
|
subdir('py')
|