# Copyright 2020-2022 David Robillard # SPDX-License-Identifier: 0BSD OR ISC #################### # Project Metadata # #################### if get_option('warning_level') == 'everything' # Check release metadata if not meson.is_subproject() autoship = find_program('autoship', required: false) if autoship.found() test('autoship', autoship, args: ['test', lilv_src_root], suite: 'data') endif endif # Check licensing metadata reuse = find_program('reuse', required: false) if reuse.found() test( 'REUSE', reuse, args: ['--root', lilv_src_root, 'lint'], suite: 'data', ) endif endif ############## # Test Setup # ############## test_args = ['-DLILV_STATIC'] if cc.get_id() == 'msvc' test_args += [ '/wd4464', # relative include path contains '..' ] endif subdir('lv2/core.lv2') ################ # Bundle Tests # ################ subdir('bad_syntax.lv2') subdir('failed_instantiation.lv2') subdir('failed_lib_descriptor.lv2') subdir('lib_descriptor.lv2') subdir('missing_descriptor.lv2') subdir('missing_name.lv2') subdir('missing_plugin.lv2') subdir('missing_port.lv2') subdir('missing_port_name.lv2') subdir('new_version.lv2') subdir('old_version.lv2') subdir('test_plugin.lv2') ################ # C++ Bindings # ################ if not get_option('bindings_cpp').disabled() subdir('cpp') endif ############## # Unit Tests # ############## unit_tests = [ 'bad_port_index', 'bad_port_symbol', 'classes', 'discovery', 'get_symbol', 'no_author', 'no_verify', 'plugin', 'port', 'preset', 'project', 'project_no_author', 'prototype', 'reload_bundle', 'replace_version', 'state', 'string', 'ui', 'util', 'value', 'verify', 'world', ] define_args = [ '-DLILV_TEST_BUNDLE="@0@/"'.format(meson.current_build_dir() / 'test_plugin.lv2'), '-DLILV_TEST_DIR="@0@/"'.format(meson.current_build_dir()), ] foreach unit : unit_tests test( unit, executable( 'test_@0@'.format(unit), files('lilv_test_utils.c', 'test_@0@.c'.format(unit)), c_args: define_args + test_args + c_suppressions, include_directories: include_directories('../src'), dependencies: [lv2_dep, lilv_static_dep], ), suite: 'unit', ) endforeach