tests = [ 'basics', 'full-font', 'cff-full-font', 'japanese', 'cff-japanese', 'cff.notoserifmyanmar', 'glyf_bug_3131', 'layout', 'layout.gpos', 'layout.gpos2', 'layout.gpos3', 'layout.gpos4', 'layout.gpos5', 'layout.gpos6', 'layout.gpos8', 'layout.gpos8.amiri', 'layout.gpos9', 'layout.gsub3', 'layout.gsub5', 'layout.gsub5_format2', 'layout.gsub6', 'layout.gsub8', 'layout.gdef', 'layout.gdef.glyphset', 'layout.khmer', 'layout.context', 'layout.context_format2', 'layout.gdef-varstore', 'layout.gdef-attachlist', 'layout.notonastaliqurdu', 'layout.tinos', 'layout.duplicate_features', 'layout.unsorted_featurelist', 'layout.drop_feature', 'cmap', 'cmap14', 'sbix', 'colr', 'math', # TODO: re-enable once colrv1 subsetting is stabilized. # 'colrv1.notoemoji', 'colrv1', 'colr_with_components', 'cbdt', 'variable', 'glyph_names', ] repack_tests = [ 'basic', 'prioritization', 'table_duplication', 'isolation', 'advanced_prioritization', 'space_splitting', ] run_test = find_program('run-tests.py') foreach t : tests fname = '@0@.tests'.format(t) test(t, run_test, args: [ hb_subset, join_paths(meson.current_source_dir(), 'data', 'tests', fname), ], # as the tests are ran concurrently let's raise acceptable time here # ideally better to break and let meson handles them in parallel timeout: 500, workdir: join_paths(meson.current_build_dir(), '..', '..'), suite: 'subset', ) endforeach run_repack_test = find_program('run-repack-tests.py') foreach t : repack_tests fname = '@0@.tests'.format(t) test(t, run_repack_test, args: [ hb_subset, join_paths(meson.current_source_dir(), 'data', 'repack_tests', fname), ], workdir: join_paths(meson.current_build_dir(), '..', '..'), suite: ['subset', 'repack'], ) endforeach