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

Nicolas Dufresne nicolas.dufresne at collabora.com
Fri Jan 17 23:07:40 CET 2020


Le vendredi 17 janvier 2020 à 23:58 +0200, Laurent Pinchart a écrit :
> Hi Nicolas,
> 
> Thank you for the patch.
> 
> On Fri, Jan 17, 2020 at 02:17:29PM -0500, Nicolas Dufresne wrote:
> > From: Nicolas Dufresne <nicolas.dufresne at 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 at collabora.com>
> > ---
> >  utils/checkstyle.py | 9 ++++++---
> >  1 file changed, 6 insertions(+), 3 deletions(-)
> >  mode change 100755 => 100644 utils/checkstyle.py
> > 
> > diff --git a/utils/checkstyle.py b/utils/checkstyle.py
> > old mode 100755
> > new mode 100644
> > index 7edea25..e7375b3
> > --- 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,12 @@ 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
> > +    return min(issues, 1)
> 
> I find this a bit difficult to read, but the python alternative to the C
> ternary operator would be
> 
> 	return issues and 1 or 0
> 
> which may not be more reable.
> 
> 	if issues:
> 		return 1
> 	else:
> 		return 0
> 
> may be an option, but not very nice either. I'll leave it up to you,
> maybe
> 
> 	# Return an error if any issues have been detected
> 	return min(issues, 0)

One of the two last suggestion will do, I have no preference, but not the first
one, that's just worst. Will you fix it why pushing ?

> 
> In any case,
> 
> Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> 
> >  
> >  
> >  if __name__ == '__main__':



More information about the libcamera-devel mailing list