test


Log

Author Commit Date CI Message
Garret Rieger cb05c363 2021-08-13T15:19:20 [subset] add some basic tests for the legacy subset methods.
Garret Rieger 44802c8e 2021-08-12T11:11:51 [subset] use layout-features=* for layout subsetting tests w/ synthetic test fonts.
Garret Rieger c0f3af91 2021-08-11T16:20:05 [subset] speed up add_gid_and_children and adjust op limit. Fix for fuzzer timeout: https://oss-fuzz.com/testcase-detail/5001604901240832. - Operation limit is per glyph, so 100,000 should still be far more than needed. - Switches from for(...) to while(...) loop for iteration. for(...) calls it.end() which in this case triggers a complete iteration. - Cache CompositeGlyph size in the iterator to avoid needing to recalculate it.
Behdad Esfahbod 23282c9c 2021-08-11T22:49:47 [util/hb-subset] Support ranges in --unicodes / --unicodes-file Fixes https://github.com/harfbuzz/harfbuzz/issues/3109
Behdad Esfahbod 58bfe407 2021-08-11T19:48:28 [util] Move hb-subset away from main-font-text
Behdad Esfahbod 3147e081 2021-08-11T19:33:00 Merge branch 'main' into post-parse
Khaled Hosny 43722cc9 2021-08-12T02:32:29 [test] Add some real reverse sub tests
Behdad Esfahbod e0d7060f 2021-08-11T18:43:21 [test] Rename shaping/ to shape/
Khaled Hosny f1226988 2021-08-12T01:47:35 [test] Improve generate-expected-outputs.py diff output
Khaled Hosny 6ac6a2b2 2021-08-12T00:04:32 [test] hb_ot_layout_language_get_feature_tags()
Khaled Hosny e9b743b2 2021-08-11T23:51:12 [test] hb_ot_layout_script_get_language_tags()
Khaled Hosny bf438b81 2021-08-11T23:23:51 [test] hb_ot_layout_table_get_feature_tags()
Khaled Hosny 2f88ea5a 2021-08-11T23:12:00 [test] hb_ot_layout_table_find_script()
Khaled Hosny f60caad7 2021-08-11T22:54:30 [test] hb_ot_layout_table_get_script_tags()
Garret Rieger c08f1b89 2021-08-10T12:29:32 [map] fix incorrect population count in hash map. If the same key was set twice the population was being incorrectly incremented.
Garret Rieger e39c3bde 2021-08-10T11:41:55 [subset] fix bug in parsing glyf flags. the bytes of the flag stream were being treated as signed integers instead of unsigned as specified in the spec.
Behdad Esfahbod f3acb977 2021-08-10T11:05:40 [test/shaping;util] Use ';' instead of ':' to separate test fields Accept that in --batch mode. Also in batch mode don't send the 0th arg. Related discussion: https://github.com/harfbuzz/harfbuzz/pull/3102
Behdad Esfahbod b83fd3a5 2021-08-10T02:21:05 [util] Refactor batch-processing code into batch.hh
Garret Rieger 8c0c217b 2021-08-06T10:45:38 [subset] fail reference blob in face builder if allocation for table sorting fails. Fixes https://oss-fuzz.com/testcase-detail/5041767803125760
Garret Rieger c2ee1fdd 2021-08-04T16:42:49 [subset] remove unsed table_entry struct.
Garret Rieger dea0fe57 2021-08-04T16:36:20 [subset] discard extra copies of a table in face builder. Fixes #2361. Stores tables in the builder in a hashmap so you end up with at most one copy of each table. Table serialization order is now based on tag sort order instead of order of insertion into the builder.
Garret Rieger 2c024dc3 2021-08-04T11:38:38 [subset] prune redundant cmap12 subtables. If the post subset cmap12 table is equivalent to another cmap subtable don't include the 12 table in the final subset. Matches change https://github.com/fonttools/fonttools/pull/2146 from fontTools.
Khaled Hosny 84946e4d 2021-08-05T00:05:26 [test] Suggest updating the expectation if ttx matches https://github.com/harfbuzz/harfbuzz/issues/3089#issuecomment-892208892
Behdad Esfahbod 5086e105 2021-07-29T17:03:55 [test] Add failing fuzzer test case From https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36236 https://oss-fuzz.com/testcase-detail/5061207689134080
Khaled Hosny f698fe5a 2021-08-04T12:08:18 [test] Always fail subset tests if hashes don’t match Regardless of the pre sentience or absence of fonttools.
Khaled Hosny 9f544e50 2021-08-04T04:20:14 [test] Don’t skip subset tests early Check for FontTools only when the checksums are mismatching.
Khaled Hosny b0841533 2021-08-04T04:12:31 [test] Remove subset tests from the slow suite
Khaled Hosny 7ccc52b0 2021-08-04T03:57:18 [test] Compare sha256 hash before TTX dumps Most of time the files are identical, so instead of comparing the TTX dump we can check sha256 hashes of the files first and if they match, we don’t have to check the TTX dumps at all, making the subset tests orders of magnitude faster. time meson test --suite=subset down from: real 0m19.418s user 0m38.171s sys 0m3.587s to: real 0m3.102s user 0m8.622s sys 0m1.701s The expected files have been replaced by hb-subset output so they are bit-identical where FontTools output might not. The generate-expected-outputs.py now compares the hb-subset output with fontttols subset and errors of they don’t match.
Khaled Hosny 770fbd5a 2021-08-04T00:07:23 Revert "[test] Speed-up subset tests by saving TTX dump" This reverts commit 278f44dcee34cea25403e42e06668f0afe2328c1.
Khaled Hosny 2cc9ed2b 2021-08-02T22:00:11 [test] More lookup_collect_glyphs() tests
Khaled Hosny 06640374 2021-08-02T19:52:59 [test] More lookup_collect_glyphs() tests
Khaled Hosny ecdd8e3f 2021-08-02T19:36:20 [test] More lookup_collect_glyphs() tests
Khaled Hosny f998d7e1 2021-08-02T16:10:13 [test] Add API test for lookup_collect_glyphs() We don’t seem to have any tests exercising this API at all, and it is a good check of GSUB/GPOS code.
Khaled Hosny 10e73d18 2021-08-01T11:11:12 [test] Add batch mode to hb-subset and use it time meson test --suite=subset down from: real 0m22.822s user 0m44.561s sys 0m9.255s to: real 0m19.418s user 0m38.171s sys 0m3.587s Does not seem to help much, but it is something. Part of https://github.com/harfbuzz/harfbuzz/issues/3089
Khaled Hosny 1fd3a261 2021-08-01T19:38:39 [test] Remove unused shaping tests reference mode
Behdad Esfahbod 05cf8128 2021-08-01T07:59:25 [util/hb-shape] Fix use of EOF as end-of-line EOF is -1, which was being treated as a valid char (255). Use int instead.
Behdad Esfahbod 7cbcdaf6 2021-07-30T11:26:46 Whitespace
Behdad Esfahbod 5d283aa0 2021-07-30T10:15:09 Merge pull request #3095 from harfbuzz/subset-tests-speed [test] Speed-up subset tests by saving TTX dump
Garret Rieger f9d8e4a9 2021-07-29T15:25:41 [subset] switch ..._set_flags to not take a mask.
Garret Rieger 3d534b14 2021-07-29T11:52:14 [subset] convert subset input flags into bit flags. Store the flags in a bit set. Updates the public api to work with the bit set directly.
Khaled Hosny f6c67a5f 2021-07-30T02:20:19 [test] Open file in UTF-8 It is 2021 and Python still does not default to UTF-8 on Windows!
Khaled Hosny bafbade0 2021-07-30T01:42:45 [test] Force FontTools to use \n on all platforms On Windows in helfuly uses \r\n.
Khaled Hosny 278f44dc 2021-07-29T23:43:56 [test] Speed-up subset tests by saving TTX dump Speed-up subset tests by saving TTX dump of expected output instead of generating it each time the tests are run. Cuts down meson test --suite=subset on my system from: real 0m38.977s user 1m12.024s sys 0m10.547s to: real 0m22.291s user 0m44.548s sys 0m9.221s Part of https://github.com/harfbuzz/harfbuzz/issues/3089
Khaled Hosny 72489f3e 2021-07-29T18:20:03 [test] Free memory in hb-aots-tester
Khaled Hosny 895162d6 2021-07-29T18:03:00 [test] Account for mark zeroing in AOTS tests The AOTS are not written with the face that mark glyphs gets their advances zeroed. Taking this into account makes 16 more tests to pass.
Khaled Hosny e65bf605 2021-07-29T17:36:09 [test] make this test runner less verbose Print the command being called once and in a way the can be manually run.
Khaled Hosny 9a7ff54b 2021-07-29T01:52:55 [test] Write one sequence per-line https://github.com/harfbuzz/harfbuzz/pull/3087#issuecomment-888691436
Khaled Hosny ddf87ffb 2021-07-29T01:12:46 [test] Add generated tests for emoji clusters Fixes https://github.com/harfbuzz/harfbuzz/issues/3017 Uses AdobeBlank2.ttf from: https://github.com/adobe-fonts/adobe-blank-2 instead of a dummy empty font so that everything maps to GID 1 and control code points are kept instead of being dropped because there is not space glyph (otherwise we’d need to identify control code points somehow when generating the expectations).
Behdad Esfahbod 6fe0d7d6 2021-07-28T12:06:49 [GSUB] If MultipleSubst is applied to a ligature-component, preserve lig-id Fixes https://github.com/harfbuzz/harfbuzz/issues/3069
Garret Rieger acbd8b27 2021-07-27T14:31:18 [subset] temporarily disable COLRv1 subsetting. Currently COLRv1 spec is being changed so the subsetting implementation is out of sync. Disable subsetting by failing sanitization for COLRv1 tables and disable all colrv1 tests.
Behdad Esfahbod 0ded6a70 2021-07-28T11:28:38 [subset] Fix another fuzzer issue Addition could overflow on 32bit arch. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=36636 Fixes https://oss-fuzz.com/testcase-detail/5072358514753536
Khaled Hosny c65e1e08 2021-07-28T17:04:10 [test] Run AOTS cmap tests with ot font functions only We are not interested in testing FreeType cmap support. Fixes most format 4 tests. The remaining test seems to be peculiar, and I can’t find any cmap implementation that produces the expected output.
Khaled Hosny 8396c523 2021-07-28T16:29:43 [test] Add AOTS cmap tests Uses https://github.com/adobe-type-tools/aots/pull/3 Related to https://github.com/unicode-org/text-rendering-tests/issues/70 We don’t support format 4 or 8, so these tests are disabled. We support format 4 but most of the tests are failing, investigating.
Khaled Hosny 50379fbb 2021-07-28T16:13:49 [util] Don’t split text at new lines in batch mode In batch mode (which is used for testing) we are probably not interested in splitting text into lines as we could have split the string into different tests. This fixes a bunch of AOTS tests that use newlines as input.
Khaled Hosny 92b85749 2021-07-28T15:56:53 [util] Strip quotes when parsing features When running in batch mode, the quotes are not stripped by the shell and end up in the feature string. This breaks one of the AOTS tests. Alternatively, we can remove the quotes from the test files, not sure which is less hacky, though!
Khaled Hosny ad9559e3 2021-07-28T14:35:23 [tests] Make AOTS update.py work on macOS Use C++ compiler and make sure C++11 is used.
Khaled Hosny d84efca3 2021-07-28T13:17:41 [tests] Add missed test file to Makefile/meson It was introduced in 205737acdc268b1c90cf00bde2d2038519a8bf48 but was not actually used. See https://github.com/harfbuzz/harfbuzz/issues/2098
Garret Rieger 09474d8d 2021-06-29T16:07:14 [subset] Fix fuzzer timeout in add_gid_and_children. The composite glyph graph isn't check for max operations by sanitize so track an operations count during the graph traversal.
Behdad Esfahbod c68a00b9 2021-07-27T13:25:22 [subset] Fix possible overflows in VarRegionList serialize Fixes https://oss-fuzz.com/testcase-detail/5362189182566400
Behdad Esfahbod 4762fcb4 2021-07-26T11:48:55 Merge pull request #3067 from googlefonts/glyph_names [subset] support option --glyph-names
Behdad Esfahbod aeec2784 2021-07-26T11:31:54 Merge pull request #3068 from harfbuzz/hoi [variations] Support multiple axes with same tag, aka HOI
Qunxin Liu 71b5509c 2021-07-20T20:05:35 [subset] support option --glyph-names
Behdad Esfahbod b235511e 2021-07-23T12:15:15 Merge pull request #3021 from googlefonts/stable_api [subset] update hb_subset api with final changes before going stable.
Behdad Esfahbod a9a607d3 2021-07-22T16:49:56 [variations] Support multiple axes with same tag, aka HOI The axes in fvar are in arbitrary order, NOT sorted. Hence have to lsearch all entries. Fixes https://github.com/harfbuzz/harfbuzz/issues/1673 Fixes https://github.com/harfbuzz/harfbuzz/issues/2743 Test from https://github.com/ctrlcctrlv/FontForge-Higher-Order-Interpolation
Garret Rieger 9ab751ac 2021-06-23T13:38:47 [subset] Remove hb_subset(). Leaving just hb_subset_or_fail().
Garret Rieger aba2e131 2021-06-09T16:23:35 [subset] Remove hb_subset_input_get/set_overlaps_flag ().
Garret Rieger 7d82191f 2021-06-09T16:20:55 [subset] Remove hb_subset_input_get/set_name_legacy ().
Garret Rieger 942636ae 2021-06-09T16:18:39 [subset] Remove hb_subset_input_get/set_retain_gids.
Garret Rieger 77b4a1cd 2021-06-09T14:11:17 [subset] Remove hb_subset_input_get/set_desubroutinize.
Garret Rieger 8bf5d4d4 2021-06-09T14:05:17 [subset] Remove hb_subset_input_get/set_drop_hints.
Behdad Esfahbod 79e8b306 2021-07-16T15:06:10 [ot-shape] Fix application of kern table if GPOS kern is missing Was broken sometime after we implemented kerx and tweaking it. Fixes https://github.com/harfbuzz/harfbuzz/issues/3043
Garret Rieger deee24fb 2021-07-14T13:46:36 [subset] Add missing FontName op code in top dict parsing. Fix for #3058
Qunxin Liu 7416face 2021-07-07T11:27:49 [subset] fuzzer fix: https://oss-fuzz.com/testcase-detail/5715464591376384
Garret Rieger 0da9158f 2021-06-29T14:23:37 [subset] Remove OffsetTo::serialize(). Convert remaining uses of it to serialize_serialize() which correctly uses the object packer.
Qunxin Liu eee7b459 2021-06-24T10:17:46 [subset] add option --no-prune-unicode-ranges
Khaled Hosny c3be28ea 2021-06-23T17:39:23 [ot-shape] Numeric runs native direction is LTR See inline comments. Slightly modified version of the code from Jonathan Kew on the linked issue. Fixes https://github.com/harfbuzz/harfbuzz/issues/501
Khaled Hosny 71a62966 2021-06-23T18:16:56 [tests] Make record-test.sh work with .otf files It hard-codes the file extension, but fonttools sunset will use .otf for CFF fonts, so hard-code the output file from subset as well.
Garret Rieger bc06af97 2021-06-16T15:49:14 [subset] speed up feature collection when tags are specified. Precompute a feature index filter to avoid needing to iterate the feature tag list for each encountered feature index. For this particular fuzzer case speeds up feature collection from 50s to 2s.
Garret Rieger d2397d91 2021-06-18T18:12:19 [subset] Add additional colrv1 subsetting tests that has a glyph with components.
Qunxin Liu d07f789a 2021-06-09T15:36:40 [subset] support option "--notdef-outline"
Garret Rieger 675ebbeb 2021-06-16T10:40:46 [subset] don't alloc zero bytes. It will be leaked later since hb_blob_create() won't set up the blob to cleanup since it has length zero.
Behdad Esfahbod bdfed8f1 2021-06-14T15:46:04 [blob] Add failing versions of create API Fixes https://github.com/harfbuzz/harfbuzz/issues/2567 New API: +hb_blob_create_or_fail() +hb_blob_create_from_file_or_fail() Use these in util/ to distinguish empty file from not-found file. Only err on the latter.
Behdad Esfahbod 5bc05ba1 2021-06-13T05:28:20 Prefer GPOS over kerx, if GSUB was applied Fixes https://github.com/harfbuzz/harfbuzz/issues/3008
David Corbett 5585ea02 2021-06-05T08:35:28 [syllabic] Set position of dotted circle for Indic
Qunxin Liu 35d6af69 2021-06-04T10:04:27 [subset] fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5965777994907648
Qunxin Liu 1b6008ca 2021-06-02T15:07:18 fix fuzzer testcase: https://oss-fuzz.com/testcase-detail/5417934246772736
Qunxin Liu 7ab0f4ed 2021-05-27T11:40:34 fuzzer fix
Qunxin Liu cb5a6b5a 2021-05-19T17:33:46 [subset] support option --layout-features
Garret Rieger 0989b555 2021-05-18T17:12:50 [subset] Add test for overlaps flag setting.
Qunxin Liu f739e1dc 2021-05-11T11:44:32 [subset] subset both CPAL and COLRv1
Kurt Kartaltepe 2000f47a 2021-05-19T00:34:09 [set] Compute is_subset by comparing pages. Test subsets one page at a time instead of by codepoints. On my machine this is about 250x faster than the previous implementation.
Jonathan Kew 89df3539 2021-05-13T11:45:32 [aat] Add testcase for Apple Color Emoji couple-with-skin-tones sequence.
Garret Rieger a08900b7 2021-05-04T16:48:41 [subset] fix failing colrv0 subsetting when font has composite glyphs. Composite glyph collection was happening along side colrv0 glyph collection which meant it was possible to miss grabbing the component glyphs for a glyph added by colrv0.
Garret Rieger b07b97d5 2021-03-29T10:39:38 [subset] Add more Noto Nastaliq test cases.
Garret Rieger 2b764764 2021-04-30T13:34:16 [subset] update test-subset-gpos expected files.
Garret Rieger 92757f68 2021-04-22T15:18:35 [subset] Don't drop anchor device tables when dropping hints. These may contain variation data. Update subseting expected files to match latest version of fontTools.
Garret Rieger 6fddc2bb 2021-04-01T15:34:17 [subset] subset layout tables (G*) by default.
Garret Rieger 425ba1f4 2021-04-19T18:01:24 [subset] fixes infinite loop in hb_set_get_max(). Fixes https://oss-fuzz.com/testcase-detail/5363902507515904
Garret Rieger ec432106 2021-04-19T17:18:05 [subset] fix infinite loop caused by alloc failure in repacker. Fixes: https://oss-fuzz.com/testcase-detail/5609112151916544.
Garret Rieger 0e845d97 2021-04-19T16:09:37 [subset] fix memory leak in repacker caused by failed alloc. Fixes: https://oss-fuzz.com/testcase-detail/5616763250278400.