[Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions

Greg Kurz posted 1 patch 7 years, 1 month ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/148974701986.29545.5414999102981738774.stgit@bahia
Test checkpatch failed
Test docker passed
Test s390x passed
scripts/checkpatch.pl |    8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
[Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions
Posted by Greg Kurz 7 years, 1 month ago
Commit f1e155bbf863a removed a bunch of stuff that really don't make sense
outside the linux kernel. An exception though is logging functions: it is
convenient to be able to grep error messages in the code. For this to work,
error strings mustn't be broken down on multiple lines, and therefore are
likely to overcome the 90 characters limit, and make checkpatch unhappy.

This patch reverts the change for logging functions and adapts it to QEMU.

Signed-off-by: Greg Kurz <groug@kaod.org>
---
 scripts/checkpatch.pl |    8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
index f0845429342a..cc2796238170 100755
--- a/scripts/checkpatch.pl
+++ b/scripts/checkpatch.pl
@@ -192,6 +192,11 @@ our $typeTypedefs = qr{(?x:
         | QEMUBH                            # all uppercase
 )};
 
+our $logFunctions = qr{(?x:
+       error_report|
+       error_printf
+)};
+
 our @typeList = (
 	qr{void},
 	qr{(?:unsigned\s+)?char},
@@ -1341,7 +1346,8 @@ sub process {
 
 #90 column limit
 		if ($line =~ /^\+/ &&
-		    !($line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
+		    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:([^"]*))?"[X\t]*"\s*(?:,|\)\s*;)\s*$/ ||
+		      $line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
 		    $length > 80)
 		{
 			if ($length > 90) {


Re: [Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions
Posted by no-reply@patchew.org 7 years, 1 month ago
Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 148974701986.29545.5414999102981738774.stgit@bahia
Subject: [Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash

BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0

# Useful git options
git config --local diff.renamelimit 0
git config --local diff.renames True

commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
    echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
    if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
        failed=1
        echo
    fi
    n=$((n+1))
done

exit $failed
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/148974701986.29545.5414999102981738774.stgit@bahia -> patchew/148974701986.29545.5414999102981738774.stgit@bahia
 * [new tag]         patchew/148974744281.30636.17973264008285415592.stgit@bahia -> patchew/148974744281.30636.17973264008285415592.stgit@bahia
Switched to a new branch 'test'
390d7c4 checkpatch: allow longer lines for logging functions

=== OUTPUT BEGIN ===
Checking PATCH 1/1: checkpatch: allow longer lines for logging functions...
ERROR: line over 90 characters
#38: FILE: scripts/checkpatch.pl:1349:
+		    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:([^"]*))?"[X\t]*"\s*(?:,|\)\s*;)\s*$/ ||

total: 1 errors, 0 warnings, 20 lines checked

Your patch has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
Re: [Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions
Posted by Greg Kurz 7 years, 1 month ago
On Fri, 17 Mar 2017 03:45:56 -0700 (PDT)
no-reply@patchew.org wrote:

> Hi,
> 
> This series seems to have some coding style problems. See output below for
> more information:
> 
> Message-id: 148974701986.29545.5414999102981738774.stgit@bahia
> Subject: [Qemu-devel] [PATCH] checkpatch: allow longer lines for logging functions
> Type: series
> 
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> 
> BASE=base
> n=1
> total=$(git log --oneline $BASE.. | wc -l)
> failed=0
> 
> # Useful git options
> git config --local diff.renamelimit 0
> git config --local diff.renames True
> 
> commits="$(git log --format=%H --reverse $BASE..)"
> for c in $commits; do
>     echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
>     if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
>         failed=1
>         echo
>     fi
>     n=$((n+1))
> done
> 
> exit $failed
> === TEST SCRIPT END ===
> 
> Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
> From https://github.com/patchew-project/qemu
>  * [new tag]         patchew/148974701986.29545.5414999102981738774.stgit@bahia -> patchew/148974701986.29545.5414999102981738774.stgit@bahia
>  * [new tag]         patchew/148974744281.30636.17973264008285415592.stgit@bahia -> patchew/148974744281.30636.17973264008285415592.stgit@bahia
> Switched to a new branch 'test'
> 390d7c4 checkpatch: allow longer lines for logging functions
> 
> === OUTPUT BEGIN ===
> Checking PATCH 1/1: checkpatch: allow longer lines for logging functions...
> ERROR: line over 90 characters

Ha ha ! Should checkpatch allow long regexp lines in itself ? ;)

> #38: FILE: scripts/checkpatch.pl:1349:
> +		    !($line =~ /^\+\s*$logFunctions\s*\(\s*(?:([^"]*))?"[X\t]*"\s*(?:,|\)\s*;)\s*$/ ||
> 
> total: 1 errors, 0 warnings, 20 lines checked
> 
> Your patch has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> 
> === OUTPUT END ===
> 
> Test command exited with code: 1
> 
> 
> ---
> Email generated automatically by Patchew [http://patchew.org/].
> Please send your feedback to patchew-devel@freelists.org