
Simon,
On Wed, Mar 20, 2013 at 7:42 PM, Simon Glass sjg@chromium.org wrote:
checkpatch has a new type of warning, a 'CHECK'. At present patman fails with these, which makes it less than useful.
Add support for checks, making it backwards compatible with the old checkpatch.
There are also a few other minor fixups in this: * Cleanup formatting of the CheckPatches() output. * Fix erroneous "internal error" if multiple patches have warnings. * Be more robust to new types of problems.
@@ -64,10 +64,14 @@ def CheckPatch(fname, verbose=False): 'msg': text message 'file' : filename 'line': line number
error_count: Number of errors
warning_count: Number of warnings
check_count: Number of checks lines: Number of lines
stdout: Full output of checkpatch
nit: Right above this it says you're returning a 4-tuple. That's no longer true. Could just remove the "4-".
optional: I've found that returning big tuples like this is problematic. Whenever you change the number of things returned you've got to modify any callers that call like:
a, b, c, d = CheckPatch(...)
to now be:
a, b, c, d, e = CheckPatch(...)
...or never use the above syntax and use:
result = CheckPatch(...) blah = result[0]
Maybe use a namedtuple so that callers can use the result more cleanly?
if match: error_count = int(match.group(1)) warning_count = int(match.group(2))
lines = int(match.group(3))
match_count = int(match.group(3))
if len(match.groups()) == 4:
check_count = match_count
lines = int(match.group(4))
I'm confused about match_count here. What is it supposed to contain? I can't tell from the name of it. It looks like a temporary variable holding either check_count or lines. ...but you forget to assign "lines = match_count" in an "else" case so things are broken with old versions of checkpatch, right?
-Doug