From df0dd26ce2f87f6d4975b1b68723259224141d2f Mon Sep 17 00:00:00 2001 From: Nico Weber Date: Sun, 22 Oct 2023 23:46:57 -0700 Subject: [PATCH] Meta: Make test_pdf.py not count regular "failed to open" as crash Some files just aren't valid PDF files that e.g. Preview.app can't open either. Let's not count those (exit code 1) as crashes. --- Meta/test_pdf.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/Meta/test_pdf.py b/Meta/test_pdf.py index 1511638107..0548629c34 100755 --- a/Meta/test_pdf.py +++ b/Meta/test_pdf.py @@ -59,12 +59,17 @@ def main(): results = multiprocessing.Pool().map(test_pdf, files) + failed_files = [] num_crashes = 0 stack_to_files = {} for r in results: print(r.filename) print(r.stdout.decode('utf-8')) - if r.returncode != 0: + if r.returncode == 0: + continue + if r.returncode == 1: + failed_files.append(r.filename) + else: num_crashes += 1 stack_to_files.setdefault(r.stderr, []).append(r.filename) @@ -83,6 +88,12 @@ def main(): print(f'{num_crashes} crashes ({percent:.1f}%)') print(f'{len(keys)} distinct crash stacks') + percent = 100 * len(failed_files) / len(results) + print() + print(f'{len(failed_files)} failed to open ({percent:.1f}%)') + for f in failed_files: + print(f' {f}') + if __name__ == '__main__': main()