xref: /aosp_15_r20/external/harfbuzz_ng/test/subset/meson.build (revision 2d1272b857b1f7575e6e246373e1cb218663db8a)
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  'subset_base',
46  # TODO: re-enable once colrv1 subsetting is stabilized.
47  # 'colrv1.notoemoji',
48  'colrv1',
49  'colrv1_subset_varstore',
50  'colr_with_components',
51  'cbdt',
52  'variable',
53  'glyph_names',
54  'glyph_map',
55  'post',
56  '32bit_var_store',
57  'pin_all_at_default',
58  'instantiate_base',
59  'instantiate_colrv1',
60  'instantiate_glyf',
61  'instantiate_cff2',
62  'full_instance',
63  'instance_feature_variations',
64  'instance_no_double_free',
65  'mvar_full_instance',
66  'instance_comp_glyph_empty_child',
67  'post_apply_mvar_delta',
68  'apply_cvar_delta',
69  'collect_name_ids',
70  'instantiate_cff2_update_metrics',
71  'layout.empty_ligature_offset',
72  'glyf_partial_instancing',
73  'mvar_partial_instance',
74  'update_def_wght',
75  'feature_variations_partial_instance',
76  'gdef_partial_instance',
77  'value_format_partial_instance',
78  'feature_variation_instance_collect_lookups',
79  'sync_vmetrics',
80  'empty_region_vardata',
81  'colrv1_partial_instance',
82]
83
84if get_option('experimental_api')
85  tests += [
86    'iftb_requirements',
87  ]
88endif
89
90repack_tests = [
91  'basic',
92  'prioritization',
93  'table_duplication',
94  'isolation',
95  'advanced_prioritization',
96  'space_splitting',
97]
98
99run_test = find_program('run-tests.py')
100
101foreach t : tests
102  fname = '@[email protected]'.format(t)
103
104  test(t, run_test,
105    args: [
106      hb_subset,
107      meson.current_source_dir() / 'data' / 'tests' / fname,
108    ],
109    # as the tests are ran concurrently let's raise acceptable time here
110    # ideally better to break and let meson handles them in parallel
111    timeout: 500,
112    workdir: meson.current_build_dir() / '..' / '..',
113    suite: 'subset',
114  )
115endforeach
116
117run_repack_test = find_program('run-repack-tests.py')
118
119foreach t : repack_tests
120  fname = '@[email protected]'.format(t)
121
122  test(t, run_repack_test,
123    args: [
124      hb_subset,
125      meson.current_source_dir() / 'data' / 'repack_tests' / fname,
126    ],
127    workdir: meson.current_build_dir() / '..' / '..',
128    suite: ['subset', 'repack'],
129  )
130endforeach
131