# HG changeset patch
# User timeless <timeless@mozdev.org>
# 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()