patman: Handle checkpatch output with notes and code
authorSimon Glass <sjg@chromium.org>
Wed, 6 May 2020 22:29:07 +0000 (16:29 -0600)
committerSimon Glass <sjg@chromium.org>
Fri, 12 Jun 2020 02:52:11 +0000 (20:52 -0600)
If checkpatch is configured to output code we should ignore it. Similarly,
notes should be ignored.

Update the logic to handle these situations.

Signed-off-by: Simon Glass <sjg@chromium.org>
tools/patman/checkpatch.py

index 2cfa977..5426bb9 100644 (file)
@@ -85,7 +85,8 @@ def CheckPatch(fname, verbose=False):
     re_warning = re.compile(emacs_prefix + 'WARNING:(?:[A-Z_]+:)? (.*)')
     re_check = re.compile('CHECK: (.*)')
     re_file = re.compile('#\d+: FILE: ([^:]*):(\d+):')
-
+    re_note = re.compile('NOTE: (.*)')
+    indent = ' ' * 6
     for line in result.stdout.splitlines():
         if verbose:
             print(line)
@@ -96,6 +97,14 @@ def CheckPatch(fname, verbose=False):
                 result.problems.append(item)
                 item = {}
             continue
+        if re_note.match(line):
+            continue
+        # Skip lines which quote code
+        if line.startswith(indent):
+            continue
+        # Skip code quotes and #<n>
+        if line.startswith('+') or line.startswith('#'):
+            continue
         match = re_stats_full.match(line)
         if not match:
             match = re_stats.match(line)