153a5a1b3Sopenharmony_ci# Note that a few tests have dependencies on src/modules. 253a5a1b3Sopenharmony_ci# 353a5a1b3Sopenharmony_ci# The syntax for tests declaration is: 453a5a1b3Sopenharmony_ci# 553a5a1b3Sopenharmony_ci# test name, sources, deps, [extra libs, extra flags] 653a5a1b3Sopenharmony_ci# 753a5a1b3Sopenharmony_ci 853a5a1b3Sopenharmony_ci# Default tests 953a5a1b3Sopenharmony_ci 1053a5a1b3Sopenharmony_cidefault_tests = [] 1153a5a1b3Sopenharmony_ci 1253a5a1b3Sopenharmony_ciif get_option('client') 1353a5a1b3Sopenharmony_ci default_tests += [ 1453a5a1b3Sopenharmony_ci [ 'channelmap-test', 'channelmap-test.c', 1553a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep ] ], 1653a5a1b3Sopenharmony_ci [ 'core-util-test', 'core-util-test.c', 1753a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 1853a5a1b3Sopenharmony_ci [ 'get-binary-name-test', 'get-binary-name-test.c', 1953a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 2053a5a1b3Sopenharmony_ci [ 'hashmap-test', 'hashmap-test.c', 2153a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 2253a5a1b3Sopenharmony_ci [ 'json-test', 'json-test.c', 2353a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 2453a5a1b3Sopenharmony_ci [ 'proplist-test', 'proplist-test.c', 2553a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 2653a5a1b3Sopenharmony_ci [ 'thread-mainloop-test', 'thread-mainloop-test.c', 2753a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 2853a5a1b3Sopenharmony_ci [ 'utf8-test', 'utf8-test.c', 2953a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 3053a5a1b3Sopenharmony_ci [ 'volume-test', 'volume-test.c', 3153a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep ] ], 3253a5a1b3Sopenharmony_ci ] 3353a5a1b3Sopenharmony_ci 3453a5a1b3Sopenharmony_ci default_tests += [ 3553a5a1b3Sopenharmony_ci [ 'mainloop-test', 'mainloop-test.c', 3653a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 3753a5a1b3Sopenharmony_ci ] 3853a5a1b3Sopenharmony_ci 3953a5a1b3Sopenharmony_ci if cc.has_header('sys/eventfd.h') 4053a5a1b3Sopenharmony_ci default_tests += [ 4153a5a1b3Sopenharmony_ci [ 'srbchannel-test', 'srbchannel-test.c', 4253a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ] 4353a5a1b3Sopenharmony_ci ] 4453a5a1b3Sopenharmony_ci endif 4553a5a1b3Sopenharmony_ci 4653a5a1b3Sopenharmony_ci if glib_dep.found() 4753a5a1b3Sopenharmony_ci default_tests += [ 4853a5a1b3Sopenharmony_ci [ 'mainloop-test-glib', 'mainloop-test.c', 4953a5a1b3Sopenharmony_ci [ check_dep, glib_dep, libpulse_dep, libpulsecommon_dep, libpulse_mainloop_glib_dep ], 5053a5a1b3Sopenharmony_ci [], ['-DGLIB_MAIN_LOOP'] ] 5153a5a1b3Sopenharmony_ci ] 5253a5a1b3Sopenharmony_ci endif 5353a5a1b3Sopenharmony_ciendif 5453a5a1b3Sopenharmony_ci 5553a5a1b3Sopenharmony_ciif get_option('daemon') 5653a5a1b3Sopenharmony_ci default_tests += [ 5753a5a1b3Sopenharmony_ci [ 'asyncmsgq-test', 'asyncmsgq-test.c', 5853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 5953a5a1b3Sopenharmony_ci [ 'asyncq-test', 'asyncq-test.c', 6053a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 6153a5a1b3Sopenharmony_ci [ 'close-test', 'close-test.c', 6253a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 6353a5a1b3Sopenharmony_ci [ 'cpu-mix-test', [ 'cpu-mix-test.c', 'runtime-test-util.h' ], 6453a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 6553a5a1b3Sopenharmony_ci [ 'cpu-remap-test', [ 'cpu-remap-test.c', 'runtime-test-util.h' ], 6653a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 6753a5a1b3Sopenharmony_ci [ 'cpu-sconv-test', [ 'cpu-sconv-test.c', 'runtime-test-util.h' ], 6853a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 6953a5a1b3Sopenharmony_ci [ 'cpu-volume-test', [ 'cpu-volume-test.c', 'runtime-test-util.h' ], 7053a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 7153a5a1b3Sopenharmony_ci [ 'format-test', 'format-test.c', 7253a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 7353a5a1b3Sopenharmony_ci [ 'hook-list-test', 'hook-list-test.c', 7453a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 7553a5a1b3Sopenharmony_ci [ 'lfe-filter-test', 'lfe-filter-test.c', 7653a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 7753a5a1b3Sopenharmony_ci [ 'lock-autospawn-test', 'lock-autospawn-test.c', 7853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 7953a5a1b3Sopenharmony_ci [ 'memblock-test', 'memblock-test.c', 8053a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 8153a5a1b3Sopenharmony_ci [ 'memblockq-test', 'memblockq-test.c', 8253a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 8353a5a1b3Sopenharmony_ci [ 'mix-test', 'mix-test.c', 8453a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 8553a5a1b3Sopenharmony_ci [ 'mult-s16-test', [ 'mult-s16-test.c', 'runtime-test-util.h' ], 8653a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 8753a5a1b3Sopenharmony_ci [ 'proplist-modargs-test', 'proplist-modargs-test.c', 8853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 8953a5a1b3Sopenharmony_ci [ 'queue-test', 'queue-test.c', 9053a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 9153a5a1b3Sopenharmony_ci [ 'resampler-test', 'resampler-test.c', 9253a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep ] ], 9353a5a1b3Sopenharmony_ci [ 'resampler-rewind-test', 'resampler-rewind-test.c', 9453a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep, libm_dep ] ], 9553a5a1b3Sopenharmony_ci [ 'rtpoll-test', 'rtpoll-test.c', 9653a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 9753a5a1b3Sopenharmony_ci [ 'smoother-test', 'smoother-test.c', 9853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 9953a5a1b3Sopenharmony_ci [ 'strlist-test', 'strlist-test.c', 10053a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 10153a5a1b3Sopenharmony_ci [ 'thread-test', 'thread-test.c', 10253a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 10353a5a1b3Sopenharmony_ci ] 10453a5a1b3Sopenharmony_ci 10553a5a1b3Sopenharmony_ci if host_machine.system() != 'windows' 10653a5a1b3Sopenharmony_ci default_tests += [ 10753a5a1b3Sopenharmony_ci [ 'sigbus-test', 'sigbus-test.c', 10853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 10953a5a1b3Sopenharmony_ci [ 'usergroup-test', 'usergroup-test.c', 11053a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 11153a5a1b3Sopenharmony_ci ] 11253a5a1b3Sopenharmony_ci endif 11353a5a1b3Sopenharmony_ci 11453a5a1b3Sopenharmony_ci if host_machine.system() != 'darwin' 11553a5a1b3Sopenharmony_ci default_tests += [ 11653a5a1b3Sopenharmony_ci [ 'once-test', 'once-test.c', 11753a5a1b3Sopenharmony_ci [ check_dep, thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libatomic_ops_dep ] ], 11853a5a1b3Sopenharmony_ci ] 11953a5a1b3Sopenharmony_ci endif 12053a5a1b3Sopenharmony_ci 12153a5a1b3Sopenharmony_ci if alsa_dep.found() 12253a5a1b3Sopenharmony_ci default_tests += [ 12353a5a1b3Sopenharmony_ci [ 'alsa-mixer-path-test', 'alsa-mixer-path-test.c', 12453a5a1b3Sopenharmony_ci [ alsa_dep, check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ], 12553a5a1b3Sopenharmony_ci libalsa_util ] 12653a5a1b3Sopenharmony_ci ] 12753a5a1b3Sopenharmony_ci endif 12853a5a1b3Sopenharmony_ciendif 12953a5a1b3Sopenharmony_ci 13053a5a1b3Sopenharmony_ci# No-run tests 13153a5a1b3Sopenharmony_cinorun_tests = [] 13253a5a1b3Sopenharmony_ci 13353a5a1b3Sopenharmony_ciif get_option('client') 13453a5a1b3Sopenharmony_ci norun_tests += [ 13553a5a1b3Sopenharmony_ci [ 'pacat-simple', 'pacat-simple.c', 13653a5a1b3Sopenharmony_ci [ libpulse_dep, libpulse_simple_dep ] ], 13753a5a1b3Sopenharmony_ci [ 'parec-simple', 'parec-simple.c', 13853a5a1b3Sopenharmony_ci [ libpulse_dep, libpulse_simple_dep ] ], 13953a5a1b3Sopenharmony_ci ] 14053a5a1b3Sopenharmony_ci 14153a5a1b3Sopenharmony_ci if gtk_dep.found() and glib_dep.found() 14253a5a1b3Sopenharmony_ci norun_tests += [ 14353a5a1b3Sopenharmony_ci [ 'gtk-test', 'gtk-test.c', 14453a5a1b3Sopenharmony_ci [ gtk_dep, libpulse_dep, libpulse_mainloop_glib_dep ] ] 14553a5a1b3Sopenharmony_ci ] 14653a5a1b3Sopenharmony_ci endif 14753a5a1b3Sopenharmony_ciendif 14853a5a1b3Sopenharmony_ci 14953a5a1b3Sopenharmony_ciif get_option('daemon') 15053a5a1b3Sopenharmony_ci norun_tests += [ 15153a5a1b3Sopenharmony_ci [ 'flist-test', 'flist-test.c', 15253a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 15353a5a1b3Sopenharmony_ci [ 'ipacl-test', 'ipacl-test.c', 15453a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 15553a5a1b3Sopenharmony_ci [ 'lo-latency-test', [ 'lo-latency-test.c', 'lo-test-util.c', 'lo-test-util.h' ], 15653a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 15753a5a1b3Sopenharmony_ci [ 'mcalign-test', 'mcalign-test.c', 15853a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 15953a5a1b3Sopenharmony_ci [ 'remix-test', 'remix-test.c', 16053a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 16153a5a1b3Sopenharmony_ci [ 'rtstutter', 'rtstutter.c', 16253a5a1b3Sopenharmony_ci [ thread_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 16353a5a1b3Sopenharmony_ci [ 'sig2str-test', 'sig2str-test.c', 16453a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 16553a5a1b3Sopenharmony_ci [ 'stripnul', 'stripnul.c', 16653a5a1b3Sopenharmony_ci [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 16753a5a1b3Sopenharmony_ci ] 16853a5a1b3Sopenharmony_ci 16953a5a1b3Sopenharmony_ci # echo-cancel test is a bit tedious to handle 17053a5a1b3Sopenharmony_ci echo_cancel_test_sources = [] 17153a5a1b3Sopenharmony_ci foreach s : module_echo_cancel_sources 17253a5a1b3Sopenharmony_ci echo_cancel_test_sources += '../modules/' + s 17353a5a1b3Sopenharmony_ci endforeach 17453a5a1b3Sopenharmony_ci echo_cancel_test_sources += module_echo_cancel_orc_sources 17553a5a1b3Sopenharmony_ci 17653a5a1b3Sopenharmony_ci norun_tests += [ 17753a5a1b3Sopenharmony_ci [ 'echo-cancel-test', echo_cancel_test_sources, 17853a5a1b3Sopenharmony_ci module_echo_cancel_deps + [ libpulse_dep, libpulsecommon_dep, libpulsecore_dep, libintl_dep ], 17953a5a1b3Sopenharmony_ci module_echo_cancel_libs, 18053a5a1b3Sopenharmony_ci module_echo_cancel_flags + server_c_args + [ '-DPA_MODULE_NAME=module_echo_cancel', '-DECHO_CANCEL_TEST=1' ] ] 18153a5a1b3Sopenharmony_ci ] 18253a5a1b3Sopenharmony_ci 18353a5a1b3Sopenharmony_ci if cc.has_header_symbol('signal.h', 'SIGXCPU') 18453a5a1b3Sopenharmony_ci norun_tests += [ 18553a5a1b3Sopenharmony_ci [ 'cpulimit-test', [ 'cpulimit-test.c', '../daemon/cpulimit.c', '../daemon/cpulimit.h' ], 18653a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 18753a5a1b3Sopenharmony_ci [ 'cpulimit-test2', [ 'cpulimit-test.c', '../daemon/cpulimit.c', '../daemon/cpulimit.h' ], 18853a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ], 18953a5a1b3Sopenharmony_ci [], ['-DTEST2'] ], 19053a5a1b3Sopenharmony_ci ] 19153a5a1b3Sopenharmony_ci endif 19253a5a1b3Sopenharmony_ci 19353a5a1b3Sopenharmony_ci if cc.has_function('pthread_setaffinity_np', dependencies : thread_dep) 19453a5a1b3Sopenharmony_ci norun_tests += [ 19553a5a1b3Sopenharmony_ci [ 'atomic-test', 'atomic-test.c', 19653a5a1b3Sopenharmony_ci [ check_dep, libpulsecommon_dep, thread_dep ] ] 19753a5a1b3Sopenharmony_ci ] 19853a5a1b3Sopenharmony_ci endif 19953a5a1b3Sopenharmony_ci 20053a5a1b3Sopenharmony_ci if alsa_dep.found() 20153a5a1b3Sopenharmony_ci norun_tests += [ 20253a5a1b3Sopenharmony_ci [ 'alsa-time-test', 'alsa-time-test.c', [ alsa_dep, thread_dep ] ] 20353a5a1b3Sopenharmony_ci ] 20453a5a1b3Sopenharmony_ci endif 20553a5a1b3Sopenharmony_ciendif 20653a5a1b3Sopenharmony_ci 20753a5a1b3Sopenharmony_ci# Generate tests 20853a5a1b3Sopenharmony_ci 20953a5a1b3Sopenharmony_citest_env = environment() 21053a5a1b3Sopenharmony_citest_env.set('MAKE_CHECK', '1') 21153a5a1b3Sopenharmony_ci 21253a5a1b3Sopenharmony_ciforeach t : default_tests + norun_tests 21353a5a1b3Sopenharmony_ci name = t[0] 21453a5a1b3Sopenharmony_ci sources = t[1] 21553a5a1b3Sopenharmony_ci deps = t[2] 21653a5a1b3Sopenharmony_ci extra_libs = t.get(3, []) 21753a5a1b3Sopenharmony_ci extra_flags = t.get(4, []) 21853a5a1b3Sopenharmony_ci 21953a5a1b3Sopenharmony_ci exe = executable(name, sources, 22053a5a1b3Sopenharmony_ci c_args : pa_c_args + extra_flags, 22153a5a1b3Sopenharmony_ci include_directories : [ configinc, topinc ], 22253a5a1b3Sopenharmony_ci dependencies : deps, 22353a5a1b3Sopenharmony_ci link_with : extra_libs, 22453a5a1b3Sopenharmony_ci ) 22553a5a1b3Sopenharmony_ci 22653a5a1b3Sopenharmony_ci if default_tests.contains(t) 22753a5a1b3Sopenharmony_ci test(name, exe, 22853a5a1b3Sopenharmony_ci env : test_env, 22953a5a1b3Sopenharmony_ci timeout : 300, 23053a5a1b3Sopenharmony_ci ) 23153a5a1b3Sopenharmony_ci endif 23253a5a1b3Sopenharmony_ciendforeach 23353a5a1b3Sopenharmony_ci 23453a5a1b3Sopenharmony_ciif get_option('daemon') 23553a5a1b3Sopenharmony_ci 23653a5a1b3Sopenharmony_ci # These tests need a running pulseaudio daemon 23753a5a1b3Sopenharmony_ci 23853a5a1b3Sopenharmony_ci daemon_tests = [ 23953a5a1b3Sopenharmony_ci [ 'extended-test', 'extended-test.c', 24053a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep ] ], 24153a5a1b3Sopenharmony_ci [ 'passthrough-test', 'passthrough-test.c', 24253a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep ] ], 24353a5a1b3Sopenharmony_ci [ 'sync-playback', 'sync-playback.c', 24453a5a1b3Sopenharmony_ci [ check_dep, libm_dep, libpulse_dep ] ], 24553a5a1b3Sopenharmony_ci ] 24653a5a1b3Sopenharmony_ci 24753a5a1b3Sopenharmony_ci daemon_tests_long = [ 24853a5a1b3Sopenharmony_ci [ 'connect-stress', 'connect-stress.c', 24953a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep ] ], 25053a5a1b3Sopenharmony_ci [ 'interpol-test', 'interpol-test.c', 25153a5a1b3Sopenharmony_ci [ check_dep, libpulse_dep, libpulsecommon_dep, libpulsecore_dep ] ], 25253a5a1b3Sopenharmony_ci ] 25353a5a1b3Sopenharmony_ci 25453a5a1b3Sopenharmony_ci daemon_test_names = [] 25553a5a1b3Sopenharmony_ci daemon_test_long_names = [] 25653a5a1b3Sopenharmony_ci 25753a5a1b3Sopenharmony_ci foreach t : daemon_tests + daemon_tests_long 25853a5a1b3Sopenharmony_ci name = t[0] 25953a5a1b3Sopenharmony_ci sources = t[1] 26053a5a1b3Sopenharmony_ci deps = t[2] 26153a5a1b3Sopenharmony_ci 26253a5a1b3Sopenharmony_ci if daemon_tests.contains(t) 26353a5a1b3Sopenharmony_ci daemon_test_names += name 26453a5a1b3Sopenharmony_ci else 26553a5a1b3Sopenharmony_ci daemon_test_long_names += name 26653a5a1b3Sopenharmony_ci endif 26753a5a1b3Sopenharmony_ci 26853a5a1b3Sopenharmony_ci executable(name, sources, 26953a5a1b3Sopenharmony_ci c_args : pa_c_args, 27053a5a1b3Sopenharmony_ci include_directories : [ configinc, topinc ], 27153a5a1b3Sopenharmony_ci dependencies : deps, 27253a5a1b3Sopenharmony_ci ) 27353a5a1b3Sopenharmony_ci endforeach 27453a5a1b3Sopenharmony_ci 27553a5a1b3Sopenharmony_ci test_daemon_meson_sh = find_program('test-daemon.meson.sh') 27653a5a1b3Sopenharmony_ci run_target('test-daemon', 27753a5a1b3Sopenharmony_ci command : [ test_daemon_meson_sh ] + daemon_test_names 27853a5a1b3Sopenharmony_ci ) 27953a5a1b3Sopenharmony_ci run_target('test-daemon-long', 28053a5a1b3Sopenharmony_ci command : [ test_daemon_meson_sh ] + daemon_test_long_names 28153a5a1b3Sopenharmony_ci ) 28253a5a1b3Sopenharmony_ci 28353a5a1b3Sopenharmony_ciendif 284