1*a58d3d2aSXin Li# Tests that link to libopus 2*a58d3d2aSXin Liopus_tests = [ 3*a58d3d2aSXin Li ['test_opus_api'], 4*a58d3d2aSXin Li ['test_opus_decode', [], 120], 5*a58d3d2aSXin Li ['test_opus_encode', 'opus_encode_regressions.c', 240], 6*a58d3d2aSXin Li ['test_opus_extensions', [], 120], 7*a58d3d2aSXin Li ['test_opus_padding'], 8*a58d3d2aSXin Li ['test_opus_projection'], 9*a58d3d2aSXin Li] 10*a58d3d2aSXin Li 11*a58d3d2aSXin Liforeach t : opus_tests 12*a58d3d2aSXin Li test_name = t.get(0) 13*a58d3d2aSXin Li extra_srcs = t.get(1, []) 14*a58d3d2aSXin Li 15*a58d3d2aSXin Li test_kwargs = {} 16*a58d3d2aSXin Li if t.length() > 2 17*a58d3d2aSXin Li test_kwargs += {'timeout': t[2]} 18*a58d3d2aSXin Li endif 19*a58d3d2aSXin Li 20*a58d3d2aSXin Li exe_kwargs = {} 21*a58d3d2aSXin Li # This test uses private symbols 22*a58d3d2aSXin Li if test_name == 'test_opus_projection' or test_name == 'test_opus_extensions' 23*a58d3d2aSXin Li exe_kwargs = { 24*a58d3d2aSXin Li 'link_with': [celt_lib, silk_lib, dnn_lib], 25*a58d3d2aSXin Li 'objects': opus_lib.extract_all_objects(), 26*a58d3d2aSXin Li } 27*a58d3d2aSXin Li endif 28*a58d3d2aSXin Li 29*a58d3d2aSXin Li exe = executable(test_name, '@[email protected]'.format(test_name), extra_srcs, 30*a58d3d2aSXin Li include_directories: opus_includes, 31*a58d3d2aSXin Li dependencies: [libm, opus_dep], 32*a58d3d2aSXin Li install: false, 33*a58d3d2aSXin Li kwargs: exe_kwargs) 34*a58d3d2aSXin Li test(test_name, exe, kwargs: test_kwargs) 35*a58d3d2aSXin Liendforeach 36