Joe Stringer <[email protected]> writes:
> Although tests ideally also stick to shorter line lengths, it is very
> common for fixed text blocks like flows or large packets to be specified
> within tests. Checkpatch shouldn't complain about cases like these.
>
> Signed-off-by: Joe Stringer <[email protected]>
> ---
> v2: Broaden the set of blacklisted files to not check.
> ---
> utilities/checkpatch.py | 17 ++++++++++++++++-
> 1 file changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
> index d9011f370816..83d14e89269e 100755
> --- a/utilities/checkpatch.py
> +++ b/utilities/checkpatch.py
> @@ -56,6 +56,12 @@ skip_trailing_whitespace_check = False
> skip_block_whitespace_check = False
> skip_signoff_check = False
>
> +# Don't enforce character limit on files that include these characters in
> their
> +# name, as they may have legitimate reasons to have longer lines.
> +#
> +# Python isn't checked as flake8 performs these checks during build.
> +line_length_blacklist = ['.am', '.at', 'etc', '.in', '.mk', '.patch', '.py']
> +
>
> def is_added_line(line):
> """Returns TRUE if the line in question is an added line.
> @@ -99,14 +105,23 @@ def ovs_checkpatch_parse(text):
> co_authors = []
> parse = 0
> current_file = ''
> + previous_file = ''
> scissors = re.compile(r'^[\w]*---[\w]*')
> hunks = re.compile('^(---|\+\+\+) (\S+)')
> is_signature = re.compile(r'((\s*Signed-off-by: )(.*))$',
> re.I | re.M | re.S)
> is_co_author = re.compile(r'(\s*(Co-authored-by: )(.*))$',
> re.I | re.M | re.S)
> + skip_line_length_check = False
>
> for line in text.split('\n'):
> + if current_file is not previous_file:
> + previous_file = current_file
> + for filetype in line_length_blacklist:
> + if filetype in current_file:
> + skip_line_length_check = True
> + break
You need an else condition here; otherwise a patch which orders files
.c
[blacklisted]
.c
will skip the second .c length line checks.
Incremental patch could look something like (completely untested)
below. Thanks for doing this.
diff --git a/utilities/checkpatch.py b/utilities/checkpatch.py
index 83d14e8..1579c1f 100755
--- a/utilities/checkpatch.py
+++ b/utilities/checkpatch.py
@@ -121,6 +121,9 @@ def ovs_checkpatch_parse(text):
if filetype in current_file:
skip_line_length_check = True
break
+ else:
+ skip_line_length_check = False
lineno = lineno + 1
if len(line) <= 0:
> +
> lineno = lineno + 1
> if len(line) <= 0:
> continue
> @@ -154,7 +169,7 @@ def ovs_checkpatch_parse(text):
> if trailing_whitespace_or_crlf(line[1:]):
> print_line = True
> print_warning("Line has trailing whitespace", lineno)
> - if len(line[1:]) > 79:
> + if len(line[1:]) > 79 and not skip_line_length_check:
> print_line = True
> print_warning("Line is greater than 79-characters long",
> lineno)
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev