xref: /aosp_15_r20/external/libopus/tests/meson.build (revision a58d3d2adb790c104798cd88c8a3aff4fa8b82cc)
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