pipewire/test/meson.build
Nils Tonnätt 761fa6f59d meson: fix meson test without building pipewire before
This adds project internal dependencies to some tests to let all
tests succeed. It is not adding all dependencies those tests actually
need.
2021-08-04 20:38:30 +02:00

115 lines
3.1 KiB
Meson

pwtest_sources = [
'pwtest.h',
'pwtest-implementation.h',
'pwtest.c',
'pwtest-compat.c',
]
pwtest_deps = [
pipewire_dep,
mathlib,
dl_lib,
cap_lib,
epoll_shim_dep
]
pwtest_c_args = [
'-DBUILD_ROOT="@0@"'.format(meson.build_root()),
'-DSOURCE_ROOT="@0@"'.format(meson.source_root()),
]
pwtest_inc = [
spa_inc,
pipewire_inc,
configinc,
includes_inc,
]
pwtest_lib = static_library(
'pwtest',
pwtest_sources,
c_args: pwtest_c_args,
dependencies: pwtest_deps,
include_directories: pwtest_inc,
)
test('test pwtest',
executable('test-pwtest',
'test-pwtest.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
# Compilation only, this is the example file for how pwtest works and most
# of its tests will fail.
executable('test-example',
'test-example.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
test('test pipewire utils',
executable('test-pw-utils',
'test-properties.c',
'test-array.c',
'test-utils.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
test('test lib',
executable('test-lib',
'test-lib.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
test('test client',
executable('test-client',
'test-client.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
test('test context',
executable('test-context',
'test-context.c',
'test-config.c',
include_directories: pwtest_inc,
link_with: [pwtest_lib,
spa_support_lib,
spa_dbus_lib,
pipewire_module_protocol_native,
pipewire_module_client_node,
pipewire_module_client_device,
pipewire_module_adapter,
pipewire_module_metadata,
pipewire_module_session_manager])
)
test('test support',
executable('test-support',
'test-support.c',
'test-logger.c',
include_directories: pwtest_inc,
link_with: [pwtest_lib, spa_support_lib])
)
test('test spa',
executable('test-spa',
'test-spa-buffer.c',
'test-spa-json.c',
'test-spa-utils.c',
'test-spa-node.c',
'test-spa-pod.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
valgrind = find_program('valgrind', required: false)
summary({'valgrind (test setup)': valgrind.found()}, bool_yn: true, section: 'Optional programs')
if valgrind.found()
valgrind_env = environment()
add_test_setup('valgrind',
exe_wrapper : [ valgrind,
'--leak-check=full',
'--gen-suppressions=all',
'--error-exitcode=3',
],
env : valgrind_env,
timeout_multiplier : 3)
endif