# HG changeset patch # User timeless # Date 2016-04-13 16:36:19 # Node ID cdf331b54eb88e89a8729cd071d60ac309d06075 # Parent a94f34306bb967b70c9f795543886c879bb2a85e import-checker: track SyntaxErrors We don't really need to report SyntaxErrors, since in theory docchecker or a test will catch them, but they happen, and we can't just have the code crash, so for now, we're reporting them. diff --git a/contrib/import-checker.py b/contrib/import-checker.py --- a/contrib/import-checker.py +++ b/contrib/import-checker.py @@ -587,12 +587,17 @@ def main(argv): localmods[modname] = source_path for localmodname, source_path in sorted(localmods.items()): for src, modname in sources(source_path, localmodname): - used_imports[modname] = sorted( - imported_modules(src, modname, localmods, ignore_nested=True)) - for error, lineno in verify_import_convention(modname, src, - localmods): - any_errors = True - print('%s:%d: %s' % (source_path, lineno, error)) + try: + used_imports[modname] = sorted( + imported_modules(src, modname, localmods, + ignore_nested=True)) + for error, lineno in verify_import_convention(modname, src, + localmods): + any_errors = True + print('%s:%d: %s' % (source_path, lineno, error)) + except SyntaxError as e: + print('%s:%d: SyntaxError: %s' % + (source_path, e.lineno, e)) cycles = find_cycles(used_imports) if cycles: firstmods = set()