in_house_tests = [ ['aat-trak.tests'], ['aat-morx.tests'], ['arabic-fallback-shaping.tests'], ['arabic-feature-order.tests'], ['arabic-like-joining.tests'], ['arabic-mark-attach.tests'], ['arabic-mark-order.tests'], ['arabic-stch.tests'], ['automatic-fractions.tests'], ['cluster.tests'], ['collections.tests'], ['color-fonts.tests'], ['context-matching.tests'], ['cursive-positioning.tests'], ['default-ignorables.tests'], ['emoji.tests'], ['fallback-positioning.tests'], ['hangul-jamo.tests'], ['hyphens.tests'], ['indic-consonant-with-stacker.tests'], ['indic-decompose.tests'], ['indic-init.tests'], ['indic-joiner-candrabindu.tests'], ['indic-joiners.tests'], ['indic-old-spec.tests'], ['indic-pref-blocking.tests'], ['indic-script-extensions.tests'], ['indic-special-cases.tests'], ['indic-syllable.tests'], ['indic-vowel-letter-spoofing.tests'], ['kern-format2.tests'], ['khmer-mark-order.tests'], ['khmer-misc.tests'], ['language-tags.tests'], ['ligature-id.tests'], ['macos.tests'], ['mark-attachment.tests'], ['mark-filtering-sets.tests'], ['mongolian-variation-selector.tests'], ['myanmar-syllable.tests'], ['myanmar-zawgyi.tests'], ['none-directional.tests'], ['rand.tests'], ['spaces.tests'], ['simple.tests'], ['sinhala.tests'], ['tibetan-contractions-1.tests'], ['tibetan-contractions-2.tests'], ['tibetan-vowels.tests'], ['use.tests'], ['use-indic3.tests'], ['use-marchen.tests'], ['use-syllable.tests'], ['variations-rvrn.tests'], ['vertical.tests'], ['zero-width-marks.tests'], ] aots_tests = [ ['classdef1_empty.tests'], ['classdef1_multiple.tests'], ['classdef1_single.tests'], ['classdef1.tests'], ['classdef2_empty.tests'], ['classdef2_multiple.tests'], ['classdef2_single.tests'], ['classdef2.tests'], ['gpos_chaining1_boundary.tests'], ['gpos_chaining1_lookupflag.tests'], ['gpos_chaining1_multiple_subrules.tests'], ['gpos_chaining1_next_glyph.tests'], ['gpos_chaining1_simple.tests'], ['gpos_chaining1_successive.tests'], ['gpos_chaining2_boundary.tests'], ['gpos_chaining2_lookupflag.tests'], ['gpos_chaining2_multiple_subrules.tests'], ['gpos_chaining2_next_glyph.tests'], ['gpos_chaining2_simple.tests'], ['gpos_chaining2_successive.tests'], ['gpos_chaining3_boundary.tests'], ['gpos_chaining3_lookupflag.tests'], ['gpos_chaining3_next_glyph.tests'], ['gpos_chaining3_simple.tests'], ['gpos_chaining3_successive.tests'], ['gpos_context1_boundary.tests'], ['gpos_context1_expansion.tests'], ['gpos_context1_lookupflag.tests'], ['gpos_context1_multiple_subrules.tests'], ['gpos_context1_next_glyph.tests'], ['gpos_context1_simple.tests'], ['gpos_context1_successive.tests'], ['gpos_context2_boundary.tests'], ['gpos_context2_classes.tests'], ['gpos_context2_expansion.tests'], ['gpos_context2_lookupflag.tests'], ['gpos_context2_multiple_subrules.tests'], ['gpos_context2_next_glyph.tests'], ['gpos_context2_simple.tests'], ['gpos_context2_successive.tests'], ['gpos_context3_boundary.tests'], ['gpos_context3_lookupflag.tests'], ['gpos_context3_next_glyph.tests'], ['gpos_context3_simple.tests'], ['gpos_context3_successive.tests'], ['gpos1_1_lookupflag.tests'], ['gpos1_1_simple.tests'], ['gpos1_2_lookupflag.tests'], ['gpos1_2.tests'], ['gpos2_1_lookupflag.tests'], ['gpos2_1_next_glyph.tests'], ['gpos2_1_simple.tests'], ['gpos2_1.tests'], ['gpos2_2.tests'], ['gpos3_lookupflag.tests'], ['gpos3.tests'], ['gpos4_lookupflag.tests'], ['gpos4_multiple_anchors.tests'], ['gpos4_simple.tests'], ['gpos5.tests'], ['gpos6.tests'], ['gpos7_1.tests'], ['gpos9.tests'], ['gsub_chaining1_boundary.tests'], ['gsub_chaining1_lookupflag.tests'], ['gsub_chaining1_multiple_subrules.tests'], ['gsub_chaining1_next_glyph.tests'], ['gsub_chaining1_simple.tests'], ['gsub_chaining1_successive.tests'], ['gsub_chaining2_boundary.tests'], ['gsub_chaining2_lookupflag.tests'], ['gsub_chaining2_multiple_subrules.tests'], ['gsub_chaining2_next_glyph.tests'], ['gsub_chaining2_simple.tests'], ['gsub_chaining2_successive.tests'], ['gsub_chaining3_boundary.tests'], ['gsub_chaining3_lookupflag.tests'], ['gsub_chaining3_next_glyph.tests'], ['gsub_chaining3_simple.tests'], ['gsub_chaining3_successive.tests'], ['gsub_context1_boundary.tests'], ['gsub_context1_expansion.tests'], ['gsub_context1_lookupflag.tests'], ['gsub_context1_multiple_subrules.tests'], ['gsub_context1_next_glyph.tests'], ['gsub_context1_simple.tests'], ['gsub_context1_successive.tests'], ['gsub_context2_boundary.tests'], ['gsub_context2_classes.tests'], ['gsub_context2_expansion.tests'], ['gsub_context2_lookupflag.tests'], ['gsub_context2_multiple_subrules.tests'], ['gsub_context2_next_glyph.tests'], ['gsub_context2_simple.tests'], ['gsub_context2_successive.tests'], ['gsub_context3_boundary.tests'], ['gsub_context3_lookupflag.tests'], ['gsub_context3_next_glyph.tests'], ['gsub_context3_simple.tests'], ['gsub_context3_successive.tests'], ['gsub1_1_lookupflag.tests'], ['gsub1_1_modulo.tests'], ['gsub1_1_simple.tests'], ['gsub1_2_lookupflag.tests'], ['gsub1_2_simple.tests'], ['gsub2_1_lookupflag.tests'], ['gsub2_1_multiple_sequences.tests'], ['gsub2_1_simple.tests'], ['gsub3_1_lookupflag.tests'], ['gsub3_1_multiple.tests'], ['gsub3_1_simple.tests'], ['gsub4_1_lookupflag.tests'], ['gsub4_1_multiple_ligatures.tests'], ['gsub4_1_multiple_ligsets.tests'], ['gsub4_1_simple.tests'], ['gsub7.tests'], ['lookupflag_ignore_attach.tests'], ['lookupflag_ignore_base.tests'], ['lookupflag_ignore_combination.tests'], ['lookupflag_ignore_ligatures.tests'], ['lookupflag_ignore_marks.tests'], ] text_rendering_tests = [ ['AVAR-1.tests'], ['CFF-1.tests'], ['CFF2-1.tests'], ['CFF-2.tests'], ['CMAP-1.tests'], ['CMAP-2.tests'], ['CVAR-1.tests'], ['CVAR-2.tests'], ['GLYF-1.tests'], ['GPOS-1.tests'], ['GPOS-2.tests'], ['GPOS-3.tests'], ['GPOS-4.tests'], ['GPOS-5.tests'], ['GSUB-1.tests'], ['GSUB-2.tests'], ['GSUB-3.tests'], ['GVAR-1.tests'], ['GVAR-2.tests'], ['GVAR-3.tests'], ['GVAR-4.tests'], ['GVAR-5.tests'], ['GVAR-6.tests'], ['GVAR-7.tests'], ['GVAR-8.tests'], ['GVAR-9.tests'], ['HVAR-1.tests'], ['HVAR-2.tests'], ['KERN-1.tests'], ['KERN-2.tests'], ['MORX-10.tests'], ['MORX-11.tests'], ['MORX-12.tests'], ['MORX-13.tests'], ['MORX-14.tests'], ['MORX-16.tests'], ['MORX-17.tests'], ['MORX-18.tests'], ['MORX-19.tests'], ['MORX-1.tests'], ['MORX-20.tests'], ['MORX-21.tests'], ['MORX-22.tests'], ['MORX-23.tests'], ['MORX-24.tests'], ['MORX-25.tests'], ['MORX-26.tests'], ['MORX-27.tests'], ['MORX-28.tests'], ['MORX-29.tests'], ['MORX-2.tests'], ['MORX-30.tests'], ['MORX-32.tests'], ['MORX-33.tests'], ['MORX-34.tests'], ['MORX-35.tests'], ['MORX-36.tests'], ['MORX-37.tests'], ['MORX-38.tests'], ['MORX-39.tests'], ['MORX-3.tests'], ['MORX-40.tests'], ['MORX-4.tests'], ['MORX-5.tests'], ['MORX-6.tests'], ['MORX-7.tests'], ['MORX-8.tests'], ['MORX-9.tests'], ['SHBALI-3.tests'], ['SHKNDA-1.tests'], ] disabled_text_rendering_tests = [ ['CMAP-3.tests'], ['MORX-31.tests'], ['MORX-41.tests'], ['SHARAN-1.tests'], ['SHBALI-1.tests'], ['SHBALI-2.tests'], ['SHKNDA-2.tests'], ['SHKNDA-3.tests'], ] foreach test_data : in_house_tests fname = test_data[0] test_name = fname.split('.')[0].underscorify() test(test_name, python3, args: [ files('run-tests.py')[0], hb_shape, join_paths(meson.current_source_dir(), 'data/in-house/tests', fname), ], workdir: join_paths(meson.current_build_dir(), '..', '..'), ) endforeach foreach test_data : aots_tests fname = test_data[0] test_name = fname.split('.')[0].underscorify() test(test_name, python3, args: [ files('run-tests.py')[0], hb_shape, join_paths(meson.current_source_dir(), 'data/aots/tests', fname), ], workdir: join_paths(meson.current_build_dir(), '..', '..'), ) endforeach foreach test_data : text_rendering_tests fname = test_data[0] test_name = fname.split('.')[0].underscorify() test(test_name, python3, args: [ files('run-tests.py')[0], hb_shape, join_paths(meson.current_source_dir(), 'data/text-rendering-tests/tests', fname), ], workdir: join_paths(meson.current_build_dir(), '..', '..'), ) endforeach