[libcamera-devel,v4,2/6] checkstyle: Exit with 1 status if issues are found

Message ID 20200118200015.16531-3-nicolas@ndufresne.ca
State Accepted
Headers show
Series
  • Add the ability to do pre-commit style check
Related show

Commit Message

Nicolas Dufresne Jan. 18, 2020, 8 p.m. UTC
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>

Makes the tool return 1 if there is any potential issues. This is
needed when using this tool for pre-commit hook in order to abort
the commit process.

Signed-off-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
---
 utils/checkstyle.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

Patch

diff --git a/utils/checkstyle.py b/utils/checkstyle.py
index 7edea25..4a14309 100755
--- a/utils/checkstyle.py
+++ b/utils/checkstyle.py
@@ -541,7 +541,7 @@  def check_style(top_level, commit):
     files = [f for f in files if len([p for p in patterns if fnmatch.fnmatch(os.path.basename(f), p)])]
     if len(files) == 0:
         print("Commit doesn't touch source files, skipping")
-        return
+        return 0
 
     issues = 0
     for f in files:
@@ -554,6 +554,8 @@  def check_style(top_level, commit):
         print("%u potential style %s detected, please review" % \
                 (issues, 'issue' if issues == 1 else 'issues'))
 
+    return issues
+
 
 def extract_revlist(revs):
     """Extract a list of commits on which to operate from a revision or revision
@@ -632,11 +634,15 @@  def main(argv):
 
     revlist = extract_revlist(args.revision_range)
 
+    issues = 0
     for commit in revlist:
-        check_style(top_level, commit)
+        issues += check_style(top_level, commit)
         print('')
 
-    return 0
+    if issues:
+        return 1
+    else:
+        return 0
 
 
 if __name__ == '__main__':