freeswitch/libs/srtp/test/meson.build

78 lines
2.5 KiB
Meson

# test suite
# XXX: Makefile only runs test_srtp and srtp_driver with valgrind
add_test_setup('valgrind',
exe_wrapper: ['valgrind', '--leak-check=full'],
timeout_multiplier: 10)
test_apps = [
['srtp_driver', {'extra_sources': 'util.c', 'run_args': '-v'}],
['replay_driver', {'extra_sources': 'ut_sim.c', 'run_args': '-v'}],
['roc_driver', {'extra_sources': 'ut_sim.c', 'run_args': '-v'}],
['rdbx_driver', {'extra_sources': 'ut_sim.c', 'run_args': '-v'}],
['test_srtp', {'run_args': '-v'}],
['rtpw', {'extra_sources': ['rtp.c', 'util.c', '../crypto/math/datatypes.c'], 'define_test': false}],
]
foreach t : test_apps
test_name = t.get(0)
test_dict = t.get(1, {})
test_extra_sources = test_dict.get('extra_sources', [])
test_run_args = test_dict.get('run_args', [])
test_exe = executable(test_name,
'@0@.c'.format(test_name), 'getopt_s.c', test_extra_sources,
include_directories: [config_incs, crypto_incs, srtp2_incs, test_incs],
dependencies: [srtp2_deps, syslibs],
link_with: libsrtp2_for_tests)
if test_dict.get('define_test', true)
test(test_name, test_exe, args: test_run_args)
else
set_variable(test_name + '_exe', test_exe)
endif
endforeach
# rtpw test needs to be run using shell scripts
can_run_rtpw = find_program('sh', 'bash', required: false).found()
# Meson only passes the exe_wrapper to shell scripts starting 0.55
if meson.is_cross_build() and meson.version().version_compare('<0.55')
can_run_rtpw = false
endif
if can_run_rtpw
words_txt = files('words.txt')
rtpw_test_sh = find_program('rtpw_test.sh', required: false)
if rtpw_test_sh.found()
test('rtpw_test', rtpw_test_sh,
args: ['-w', words_txt],
depends: rtpw_exe,
is_parallel: false,
workdir: meson.current_build_dir())
endif
rtpw_test_gcm_sh = find_program('rtpw_test_gcm.sh', required: false)
if (use_openssl or use_nss) and rtpw_test_gcm_sh.found()
test('rtpw_test_gcm', rtpw_test_gcm_sh,
args: ['-w', words_txt],
depends: rtpw_exe,
is_parallel: false,
workdir: meson.current_build_dir())
endif
endif
# rtp_decoder
pcap_dep = dependency('libpcap', required: get_option('pcap-tests'))
if pcap_dep.found()
executable('rtp_decoder',
'rtp_decoder.c', 'getopt_s.c', 'rtp.c', 'util.c', 'getopt_s.c',
'../crypto/math/datatypes.c',
include_directories: [config_incs, crypto_incs, srtp2_incs, test_incs],
dependencies: [srtp2_deps, pcap_dep, syslibs],
link_with: libsrtp2,
install: false)
endif