mirror of
https://gitlab.freedesktop.org/pipewire/pipewire
synced 2024-09-20 00:11:31 +00:00
b852b58f82
This makes it easier to test PipeWire in its "as-installed" state, for example in an OS distribution. The .test metadata files in ${datadir}/installed-tests/${package} are a convention taken from GNOME's installed-tests initiative, allowing a generic test-runner like gnome-desktop-testing to discover and run tests in an automatic way. The installation path ${libexecdir}/installed-tests/${package} is also a convention borrowed from GNOME's installed-tests initiative. In addition to the automated tests, I've installed example executables in the same place, for manual testing. They could be separated into a different directory if desired, but they seem like they have more similarities with the automated tests than differences: both are there to test that PipeWire works correctly, and neither should be relied on for production use. Some examples are installed in deeper subdirectories to avoid name clashes. Signed-off-by: Simon McVittie <smcv@debian.org>
80 lines
2.1 KiB
Meson
80 lines
2.1 KiB
Meson
test_apps = [
|
|
'test-buffer',
|
|
'test-node',
|
|
'test-pod',
|
|
'test-utils',
|
|
]
|
|
|
|
foreach a : test_apps
|
|
test('spa-' + a,
|
|
executable('spa-' + a, a + '.c',
|
|
dependencies : [dl_lib, pthread_lib, mathlib ],
|
|
include_directories : [spa_inc ],
|
|
c_args : [ '-D_GNU_SOURCE' ],
|
|
install : installed_tests_enabled,
|
|
install_dir : installed_tests_execdir),
|
|
env : [
|
|
'SPA_PLUGIN_DIR=@0@/spa/plugins/'.format(meson.build_root()),
|
|
])
|
|
|
|
if installed_tests_enabled
|
|
test_conf = configuration_data()
|
|
test_conf.set('exec', join_paths(installed_tests_execdir, 'spa-' + a))
|
|
configure_file(
|
|
input: installed_tests_template,
|
|
output: 'spa-' + a + '.test',
|
|
install_dir: installed_tests_metadir,
|
|
configuration: test_conf
|
|
)
|
|
endif
|
|
endforeach
|
|
|
|
if have_cpp
|
|
test_cpp = executable('spa-test-cpp', 'test-cpp.cpp',
|
|
include_directories : [spa_inc ],
|
|
dependencies : [],
|
|
install : installed_tests_enabled,
|
|
install_dir : installed_tests_execdir)
|
|
test('spa-test-cpp', test_cpp)
|
|
if installed_tests_enabled
|
|
test_conf = configuration_data()
|
|
test_conf.set('exec', join_paths(installed_tests_execdir, 'spa-test-cpp'))
|
|
configure_file(
|
|
input: installed_tests_template,
|
|
output: 'spa-test-cpp.test',
|
|
install_dir: installed_tests_metadir,
|
|
configuration: test_conf
|
|
)
|
|
endif
|
|
endif
|
|
|
|
benchmark_apps = [
|
|
'stress-ringbuffer',
|
|
'benchmark-pod',
|
|
'benchmark-dict',
|
|
]
|
|
|
|
foreach a : benchmark_apps
|
|
benchmark('spa-' + a,
|
|
executable('spa-' + a, a + '.c',
|
|
dependencies : [dl_lib, pthread_lib, mathlib ],
|
|
include_directories : [spa_inc ],
|
|
c_args : [ '-D_GNU_SOURCE' ],
|
|
install : installed_tests_enabled,
|
|
install_dir : installed_tests_execdir),
|
|
env : [
|
|
'SPA_PLUGIN_DIR=@0@/spa/plugins/'.format(meson.build_root()),
|
|
])
|
|
|
|
if installed_tests_enabled
|
|
test_conf = configuration_data()
|
|
test_conf.set('exec', join_paths(installed_tests_execdir, 'spa-' + a))
|
|
configure_file(
|
|
input: installed_tests_template,
|
|
output: 'spa-' + a + '.test',
|
|
install_dir: installed_tests_metadir,
|
|
configuration: test_conf
|
|
)
|
|
endif
|
|
endforeach
|