From 5e25b6389ccd10f52bd917d73e463781106f808c Mon Sep 17 00:00:00 2001 From: comex Date: Fri, 14 Nov 2014 11:45:26 -0500 Subject: [PATCH] Make check-includes.py properly report bad UTF-8 on all platforms rather than crashing on Python 3. Doesn't really belong there, but just removing the check doesn't feel like a good idea. --- Tools/check-includes.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/Tools/check-includes.py b/Tools/check-includes.py index d8d1c33c0d..0c2aee3832 100755 --- a/Tools/check-includes.py +++ b/Tools/check-includes.py @@ -76,7 +76,16 @@ def show_differences(bad, good): def check_file(path): print('Checking %s' % path) - lines = (l.strip() for l in open(path).read().split('\n')) + try: + try: + data = open(path, encoding='utf-8').read() + except TypeError: # py2 + data = open(path).read().decode('utf-8') + except UnicodeDecodeError: + sys.stderr.write('%s: bad UTF-8 data\n' % path) + return + + lines = (l.strip() for l in data.split('\n')) lines = exclude_if_blocks(lines) includes = list(filter_includes(lines)) sorted_includes = sort_includes(includes)