[meson] Update and simplify test/shaping

This commit is contained in:
Ebrahim Byagowi 2020-03-24 19:33:31 +04:30
parent f22e92bb30
commit 4dfda9feaa
1 changed files with 268 additions and 270 deletions

View File

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