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',
  'positioning-features.tests',
  'rand.tests',
  'rotation.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-31.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-41.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 file_name : in_house_tests
  test_name = file_name.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', file_name),
    ],
    workdir: join_paths(meson.current_build_dir(), '..', '..'),
  )
endforeach

foreach file_name : aots_tests
  test_name = file_name.split('.')[0].underscorify()

  test(test_name, python3,
    args: [
      files('run-tests.py')[0],
      hb_shape,
      join_paths(meson.current_source_dir(), 'data/aots/tests', file_name),
    ],
    workdir: join_paths(meson.current_build_dir(), '..', '..'),
  )
endforeach

foreach file_name : text_rendering_tests
  test_name = file_name.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', file_name),
    ],
    workdir: join_paths(meson.current_build_dir(), '..', '..'),
  )
endforeach
