mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
patman: By default don't pass "--no-tree" to checkpatch for linux
When you pass "--no-tree" to checkpatch it disables some extra checks that are important for Linux. Specifically I want checks like: warning: DT compatible string "boogie,woogie" appears un-documented check ./Documentation/devicetree/bindings/ Let's make the default for Linux to _not_ pass --no-tree. We'll have a config option and command line flag to override. Signed-off-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
76656bca9e
commit
dce4322c0e
4 changed files with 19 additions and 8 deletions
|
@ -186,7 +186,7 @@ def check_patch_parse(checkpatch_output, verbose=False):
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
||||||
def check_patch(fname, verbose=False, show_types=False):
|
def check_patch(fname, verbose=False, show_types=False, use_tree=False):
|
||||||
"""Run checkpatch.pl on a file and parse the results.
|
"""Run checkpatch.pl on a file and parse the results.
|
||||||
|
|
||||||
Args:
|
Args:
|
||||||
|
@ -194,6 +194,7 @@ def check_patch(fname, verbose=False, show_types=False):
|
||||||
verbose: True to print out every line of the checkpatch output as it is
|
verbose: True to print out every line of the checkpatch output as it is
|
||||||
parsed
|
parsed
|
||||||
show_types: Tell checkpatch to show the type (number) of each message
|
show_types: Tell checkpatch to show the type (number) of each message
|
||||||
|
use_tree (bool): If False we'll pass '--no-tree' to checkpatch.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
namedtuple containing:
|
namedtuple containing:
|
||||||
|
@ -210,7 +211,9 @@ def check_patch(fname, verbose=False, show_types=False):
|
||||||
stdout: Full output of checkpatch
|
stdout: Full output of checkpatch
|
||||||
"""
|
"""
|
||||||
chk = find_check_patch()
|
chk = find_check_patch()
|
||||||
args = [chk, '--no-tree']
|
args = [chk]
|
||||||
|
if not use_tree:
|
||||||
|
args.append('--no-tree')
|
||||||
if show_types:
|
if show_types:
|
||||||
args.append('--show-types')
|
args.append('--show-types')
|
||||||
output = command.output(*args, fname, raise_on_error=False)
|
output = command.output(*args, fname, raise_on_error=False)
|
||||||
|
@ -236,13 +239,13 @@ def get_warning_msg(col, msg_type, fname, line, msg):
|
||||||
line_str = '' if line is None else '%d' % line
|
line_str = '' if line is None else '%d' % line
|
||||||
return '%s:%s: %s: %s\n' % (fname, line_str, msg_type, msg)
|
return '%s:%s: %s: %s\n' % (fname, line_str, msg_type, msg)
|
||||||
|
|
||||||
def check_patches(verbose, args):
|
def check_patches(verbose, args, use_tree):
|
||||||
'''Run the checkpatch.pl script on each patch'''
|
'''Run the checkpatch.pl script on each patch'''
|
||||||
error_count, warning_count, check_count = 0, 0, 0
|
error_count, warning_count, check_count = 0, 0, 0
|
||||||
col = terminal.Color()
|
col = terminal.Color()
|
||||||
|
|
||||||
for fname in args:
|
for fname in args:
|
||||||
result = check_patch(fname, verbose)
|
result = check_patch(fname, verbose, use_tree=use_tree)
|
||||||
if not result.ok:
|
if not result.ok:
|
||||||
error_count += result.errors
|
error_count += result.errors
|
||||||
warning_count += result.warnings
|
warning_count += result.warnings
|
||||||
|
|
|
@ -64,7 +64,7 @@ def prepare_patches(col, branch, count, start, end, ignore_binary, signoff):
|
||||||
patchstream.insert_cover_letter(cover_fname, series, to_do)
|
patchstream.insert_cover_letter(cover_fname, series, to_do)
|
||||||
return series, cover_fname, patch_files
|
return series, cover_fname, patch_files
|
||||||
|
|
||||||
def check_patches(series, patch_files, run_checkpatch, verbose):
|
def check_patches(series, patch_files, run_checkpatch, verbose, use_tree):
|
||||||
"""Run some checks on a set of patches
|
"""Run some checks on a set of patches
|
||||||
|
|
||||||
This santiy-checks the patman tags like Series-version and runs the patches
|
This santiy-checks the patman tags like Series-version and runs the patches
|
||||||
|
@ -77,6 +77,7 @@ def check_patches(series, patch_files, run_checkpatch, verbose):
|
||||||
run_checkpatch (bool): True to run checkpatch.pl
|
run_checkpatch (bool): True to run checkpatch.pl
|
||||||
verbose (bool): True to print out every line of the checkpatch output as
|
verbose (bool): True to print out every line of the checkpatch output as
|
||||||
it is parsed
|
it is parsed
|
||||||
|
use_tree (bool): If False we'll pass '--no-tree' to checkpatch.
|
||||||
|
|
||||||
Returns:
|
Returns:
|
||||||
bool: True if the patches had no errors, False if they did
|
bool: True if the patches had no errors, False if they did
|
||||||
|
@ -86,7 +87,7 @@ def check_patches(series, patch_files, run_checkpatch, verbose):
|
||||||
|
|
||||||
# Check the patches, and run them through 'git am' just to be sure
|
# Check the patches, and run them through 'git am' just to be sure
|
||||||
if run_checkpatch:
|
if run_checkpatch:
|
||||||
ok = checkpatch.check_patches(verbose, patch_files)
|
ok = checkpatch.check_patches(verbose, patch_files, use_tree)
|
||||||
else:
|
else:
|
||||||
ok = True
|
ok = True
|
||||||
return ok
|
return ok
|
||||||
|
@ -165,7 +166,7 @@ def send(args):
|
||||||
col, args.branch, args.count, args.start, args.end,
|
col, args.branch, args.count, args.start, args.end,
|
||||||
args.ignore_binary, args.add_signoff)
|
args.ignore_binary, args.add_signoff)
|
||||||
ok = check_patches(series, patch_files, args.check_patch,
|
ok = check_patches(series, patch_files, args.check_patch,
|
||||||
args.verbose)
|
args.verbose, args.check_patch_use_tree)
|
||||||
|
|
||||||
ok = ok and gitutil.check_suppress_cc_config()
|
ok = ok and gitutil.check_suppress_cc_config()
|
||||||
|
|
||||||
|
|
|
@ -81,6 +81,12 @@ send.add_argument('--no-binary', action='store_true', dest='ignore_binary',
|
||||||
send.add_argument('--no-check', action='store_false', dest='check_patch',
|
send.add_argument('--no-check', action='store_false', dest='check_patch',
|
||||||
default=True,
|
default=True,
|
||||||
help="Don't check for patch compliance")
|
help="Don't check for patch compliance")
|
||||||
|
send.add_argument('--tree', dest='check_patch_use_tree', default=False,
|
||||||
|
action='store_true',
|
||||||
|
help=("Set `tree` to True. If `tree` is False then we'll "
|
||||||
|
"pass '--no-tree' to checkpatch (default: tree=%(default)s)"))
|
||||||
|
send.add_argument('--no-tree', dest='check_patch_use_tree',
|
||||||
|
action='store_false', help="Set `tree` to False")
|
||||||
send.add_argument('--no-tags', action='store_false', dest='process_tags',
|
send.add_argument('--no-tags', action='store_false', dest='process_tags',
|
||||||
default=True, help="Don't process subject tags as aliases")
|
default=True, help="Don't process subject tags as aliases")
|
||||||
send.add_argument('--no-signoff', action='store_false', dest='add_signoff',
|
send.add_argument('--no-signoff', action='store_false', dest='add_signoff',
|
||||||
|
|
|
@ -23,6 +23,7 @@ _default_settings = {
|
||||||
"u-boot": {},
|
"u-boot": {},
|
||||||
"linux": {
|
"linux": {
|
||||||
"process_tags": "False",
|
"process_tags": "False",
|
||||||
|
"check_patch_use_tree": "True",
|
||||||
},
|
},
|
||||||
"gcc": {
|
"gcc": {
|
||||||
"process_tags": "False",
|
"process_tags": "False",
|
||||||
|
@ -71,7 +72,7 @@ class _ProjectConfigParser(ConfigParser.SafeConfigParser):
|
||||||
>>> config = _ProjectConfigParser("linux")
|
>>> config = _ProjectConfigParser("linux")
|
||||||
>>> config.readfp(StringIO(sample_config))
|
>>> config.readfp(StringIO(sample_config))
|
||||||
>>> sorted((str(a), str(b)) for (a, b) in config.items("settings"))
|
>>> sorted((str(a), str(b)) for (a, b) in config.items("settings"))
|
||||||
[('am_hero', 'True'), ('process_tags', 'False')]
|
[('am_hero', 'True'), ('check_patch_use_tree', 'True'), ('process_tags', 'False')]
|
||||||
|
|
||||||
# Check to make sure that settings works with unknown project.
|
# Check to make sure that settings works with unknown project.
|
||||||
>>> config = _ProjectConfigParser("unknown")
|
>>> config = _ProjectConfigParser("unknown")
|
||||||
|
|
Loading…
Reference in a new issue