In the hb-subset to fontTools comparison, use ttx to compare the fonts. This allows...
authorGarret Rieger <grieger@google.com>
Thu, 8 Feb 2018 19:30:36 +0000 (11:30 -0800)
committerBehdad Esfahbod <behdad@behdad.org>
Thu, 8 Feb 2018 23:31:11 +0000 (17:31 -0600)
test/subset/run-tests.py

index b005480..3269516 100755 (executable)
@@ -47,19 +47,26 @@ def run_test(test):
        if return_code:
                return fail_test(test, cli_args, "%s returned %d" % (' '.join(cli_args), return_code))
 
-       expected = read_binary(os.path.join(test_suite.get_output_directory(),
+        expected_ttx, return_code = run_ttx(os.path.join(test_suite.get_output_directory(),
                                            test.get_font_name()))
-       actual = read_binary(out_file)
+        if return_code:
+               return fail_test(test, cli_args, "ttx (expected) returned %d" % (return_code))
 
-       if len(actual) != len(expected):
-               return fail_test(test, cli_args, "expected %d bytes, actual %d: %s" % (
-                               len(expected), len(actual), ' '.join(cli_args)))
+        actual_ttx, return_code = run_ttx(out_file)
+        if return_code:
+               return fail_test(test, cli_args, "ttx (actual) returned %d" % (return_code))
 
-       if not actual == expected:
-               return fail_test(test, cli_args, 'files are the same length but not the same bytes')
+       if not actual_ttx == expected_ttx:
+               return fail_test(test, cli_args, 'ttx for expected and actual does not match.')
 
        return 0
 
+def run_ttx(file):
+        cli_args = ["ttx",
+                    "-o-",
+                    file]
+        return cmd(cli_args)
+
 
 args = sys.argv[1:]
 if not args or sys.argv[1].find('hb-subset') == -1 or not os.path.exists (sys.argv[1]):