1tests = [ 2 'basics', 3 'preprocess', 4 'full-font', 5 'cff-full-font', 6 'japanese', 7 'cff-japanese', 8 'cff.notoserifmyanmar', 9 'glyf_bug_3131', 10 'layout', 11 'layout.gpos', 12 'layout.gpos2', 13 'layout.gpos3', 14 'layout.gpos4', 15 'layout.gpos5', 16 'layout.gpos6', 17 'layout.gpos8', 18 'layout.gpos8.amiri', 19 'layout.gpos9', 20 'layout.gsub3', 21 'layout.gsub5', 22 'layout.gsub5_format2', 23 'layout.gsub6', 24 'layout.gsub8', 25 'layout.gdef', 26 'layout.gdef.glyphset', 27 'layout.khmer', 28 'layout.context', 29 'layout.context_format2', 30 'layout.gdef-varstore', 31 'layout.gdef-attachlist', 32 'layout.notonastaliqurdu', 33 'layout.tinos', 34 'layout.duplicate_features', 35 'layout.unsorted_featurelist', 36 'layout.drop_feature', 37 'no_layout_closure', 38 'cmap', 39 'cmap14', 40 'sbix', 41 'colr', 42 'colr_glyphs', 43 'math', 44 'math_coverage_offset', 45 # TODO: re-enable once colrv1 subsetting is stabilized. 46 # 'colrv1.notoemoji', 47 'colrv1', 48 'colrv1_copy_varstore', 49 'colr_with_components', 50 'cbdt', 51 'variable', 52 'glyph_names', 53 'glyph_map', 54 'post', 55 '32bit_var_store', 56 'pin_all_at_default', 57 'instantiate_glyf', 58 'instantiate_cff2', 59 'full_instance', 60 'instance_feature_variations', 61 'instance_no_double_free', 62 'mvar_full_instance', 63 'instance_comp_glyph_empty_child', 64 'post_apply_mvar_delta', 65 'apply_cvar_delta', 66 'collect_name_ids', 67 'instantiate_colrv1', 68 'instantiate_cff2_update_metrics', 69] 70 71if get_option('experimental_api') 72 tests += [ 73 'glyf_partial_instancing', 74 'mvar_partial_instance', 75 'update_def_wght', 76 ] 77endif 78 79repack_tests = [ 80 'basic', 81 'prioritization', 82 'table_duplication', 83 'isolation', 84 'advanced_prioritization', 85 'space_splitting', 86] 87 88run_test = find_program('run-tests.py') 89 90foreach t : tests 91 fname = '@0@.tests'.format(t) 92 93 test(t, run_test, 94 args: [ 95 hb_subset, 96 meson.current_source_dir() / 'data' / 'tests' / fname, 97 ], 98 # as the tests are ran concurrently let's raise acceptable time here 99 # ideally better to break and let meson handles them in parallel 100 timeout: 500, 101 workdir: meson.current_build_dir() / '..' / '..', 102 suite: 'subset', 103 ) 104endforeach 105 106run_repack_test = find_program('run-repack-tests.py') 107 108foreach t : repack_tests 109 fname = '@0@.tests'.format(t) 110 111 test(t, run_repack_test, 112 args: [ 113 hb_subset, 114 meson.current_source_dir() / 'data' / 'repack_tests' / fname, 115 ], 116 workdir: meson.current_build_dir() / '..' / '..', 117 suite: ['subset', 'repack'], 118 ) 119endforeach 120