pipewire/test/meson.build
Peter Hutterer 7177d82c34 test: check for CAP_SYS_PTRACE before testing for an attached debugger
If we don't have the capability to ptrace, we are probably running inside a
container, not the debugger. Check this first so we don't disable forking
mode.

Make this conditional on libcap - where libcap is not available always assume
we *do not* have a debugger attached. This is easier than telling everyone who
runs the tests in a confined system to install libcap.

Fixes #1285
2021-06-10 09:36:12 +02:00

98 lines
2.3 KiB
Meson

pwtest_sources = [
'pwtest.h',
'pwtest-implementation.h',
'pwtest.c',
'pwtest-compat.c',
]
pwtest_deps = [
pipewire_dep,
mathlib,
dl_lib,
cap_lib,
]
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',
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 context',
executable('test-context',
'test-context.c',
include_directories: pwtest_inc,
link_with: pwtest_lib)
)
test('test support',
executable('test-support',
'test-support.c',
'test-logger.c',
include_directories: pwtest_inc,
link_with: pwtest_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)
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