util/lint/checkpatch.pl: Update to v5.18-2 lines related to verbosity
Signed-off-by: Elyes Haouas <ehaouas@noos.fr> Change-Id: I66f38cb01e58ee241bf58c4db83693029ddebcfa Reviewed-on: https://review.coreboot.org/c/coreboot/+/63437 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Martin L Roth <martinroth@google.com>
This commit is contained in:
parent
7ff2c17beb
commit
46b07e53f5
|
@ -65,7 +65,8 @@ my $codespell = 0;
|
||||||
my $codespellfile = "/usr/share/codespell/dictionary.txt";
|
my $codespellfile = "/usr/share/codespell/dictionary.txt";
|
||||||
my $user_codespellfile = "";
|
my $user_codespellfile = "";
|
||||||
my $conststructsfile = "$D/const_structs.checkpatch";
|
my $conststructsfile = "$D/const_structs.checkpatch";
|
||||||
my $typedefsfile = "";
|
my $docsfile = "";
|
||||||
|
my $typedefsfile;
|
||||||
my $color = "auto";
|
my $color = "auto";
|
||||||
my $allow_c99_comments = 1;
|
my $allow_c99_comments = 1;
|
||||||
my $git_command ='git'; # coreboot
|
my $git_command ='git'; # coreboot
|
||||||
|
@ -86,6 +87,7 @@ Version: $V
|
||||||
|
|
||||||
Options:
|
Options:
|
||||||
-q, --quiet quiet
|
-q, --quiet quiet
|
||||||
|
-v, --verbose verbose mode
|
||||||
--no-tree run without a kernel tree
|
--no-tree run without a kernel tree
|
||||||
--no-signoff do not check for 'Signed-off-by' line
|
--no-signoff do not check for 'Signed-off-by' line
|
||||||
--patch treat FILE as patchfile (default)
|
--patch treat FILE as patchfile (default)
|
||||||
|
@ -162,15 +164,51 @@ sub list_types {
|
||||||
my $text = <$script>;
|
my $text = <$script>;
|
||||||
close($script);
|
close($script);
|
||||||
|
|
||||||
my @types = ();
|
my %types = ();
|
||||||
# Also catch when type or level is passed through a variable
|
# Also catch when type or level is passed through a variable
|
||||||
for ($text =~ /(?:(?:\bCHK|\bWARN|\bERROR|&\{\$msg_level})\s*\(|\$msg_type\s*=)\s*"([^"]+)"/g) {
|
while ($text =~ /(?:(\bCHK|\bWARN|\bERROR|&\{\$msg_level})\s*\(|\$msg_type\s*=)\s*"([^"]+)"/g) {
|
||||||
push (@types, $_);
|
if (defined($1)) {
|
||||||
|
if (exists($types{$2})) {
|
||||||
|
$types{$2} .= ",$1" if ($types{$2} ne $1);
|
||||||
|
} else {
|
||||||
|
$types{$2} = $1;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$types{$2} = "UNDETERMINED";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@types = sort(uniq(@types));
|
|
||||||
print("#\tMessage type\n\n");
|
print("#\tMessage type\n\n");
|
||||||
foreach my $type (@types) {
|
if ($color) {
|
||||||
|
print(" ( Color coding: ");
|
||||||
|
print(RED . "ERROR" . RESET);
|
||||||
|
print(" | ");
|
||||||
|
print(YELLOW . "WARNING" . RESET);
|
||||||
|
print(" | ");
|
||||||
|
print(GREEN . "CHECK" . RESET);
|
||||||
|
print(" | ");
|
||||||
|
print("Multiple levels / Undetermined");
|
||||||
|
print(" )\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach my $type (sort keys %types) {
|
||||||
|
my $orig_type = $type;
|
||||||
|
if ($color) {
|
||||||
|
my $level = $types{$type};
|
||||||
|
if ($level eq "ERROR") {
|
||||||
|
$type = RED . $type . RESET;
|
||||||
|
} elsif ($level eq "WARN") {
|
||||||
|
$type = YELLOW . $type . RESET;
|
||||||
|
} elsif ($level eq "CHK") {
|
||||||
|
$type = GREEN . $type . RESET;
|
||||||
|
}
|
||||||
|
}
|
||||||
print(++$count . "\t" . $type . "\n");
|
print(++$count . "\t" . $type . "\n");
|
||||||
|
if ($verbose && exists($verbose_messages{$orig_type})) {
|
||||||
|
my $message = $verbose_messages{$orig_type};
|
||||||
|
$message =~ s/\n/\n\t/g;
|
||||||
|
print("\t" . $message . "\n\n");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
exit($exitcode);
|
exit($exitcode);
|
||||||
|
@ -202,6 +240,46 @@ if (-f $conf) {
|
||||||
unshift(@ARGV, @conf_args) if @conf_args;
|
unshift(@ARGV, @conf_args) if @conf_args;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub load_docs {
|
||||||
|
open(my $docs, '<', "$docsfile")
|
||||||
|
or warn "$P: Can't read the documentation file $docsfile $!\n";
|
||||||
|
|
||||||
|
my $type = '';
|
||||||
|
my $desc = '';
|
||||||
|
my $in_desc = 0;
|
||||||
|
|
||||||
|
while (<$docs>) {
|
||||||
|
chomp;
|
||||||
|
my $line = $_;
|
||||||
|
$line =~ s/\s+$//;
|
||||||
|
|
||||||
|
if ($line =~ /^\s*\*\*(.+)\*\*$/) {
|
||||||
|
if ($desc ne '') {
|
||||||
|
$verbose_messages{$type} = trim($desc);
|
||||||
|
}
|
||||||
|
$type = $1;
|
||||||
|
$desc = '';
|
||||||
|
$in_desc = 1;
|
||||||
|
} elsif ($in_desc) {
|
||||||
|
if ($line =~ /^(?:\s{4,}|$)/) {
|
||||||
|
$line =~ s/^\s{4}//;
|
||||||
|
$desc .= $line;
|
||||||
|
$desc .= "\n";
|
||||||
|
} else {
|
||||||
|
$verbose_messages{$type} = trim($desc);
|
||||||
|
$type = '';
|
||||||
|
$desc = '';
|
||||||
|
$in_desc = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($desc ne '') {
|
||||||
|
$verbose_messages{$type} = trim($desc);
|
||||||
|
}
|
||||||
|
close($docs);
|
||||||
|
}
|
||||||
|
|
||||||
# Perl's Getopt::Long allows options to take optional arguments after a space.
|
# Perl's Getopt::Long allows options to take optional arguments after a space.
|
||||||
# Prevent --color by itself from consuming other arguments
|
# Prevent --color by itself from consuming other arguments
|
||||||
foreach (@ARGV) {
|
foreach (@ARGV) {
|
||||||
|
@ -212,6 +290,7 @@ foreach (@ARGV) {
|
||||||
|
|
||||||
GetOptions(
|
GetOptions(
|
||||||
'q|quiet+' => \$quiet,
|
'q|quiet+' => \$quiet,
|
||||||
|
'v|verbose!' => \$verbose,
|
||||||
'tree!' => \$tree,
|
'tree!' => \$tree,
|
||||||
'signoff!' => \$chk_signoff,
|
'signoff!' => \$chk_signoff,
|
||||||
'patch!' => \$chk_patch,
|
'patch!' => \$chk_patch,
|
||||||
|
@ -2056,7 +2135,16 @@ sub report {
|
||||||
splice(@lines, 1, 1);
|
splice(@lines, 1, 1);
|
||||||
$output = join("\n", @lines);
|
$output = join("\n", @lines);
|
||||||
}
|
}
|
||||||
$output = (split('\n', $output))[0] . "\n" if ($terse);
|
|
||||||
|
if ($terse) {
|
||||||
|
$output = (split('\n', $output))[0] . "\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($verbose && exists($verbose_messages{$type}) &&
|
||||||
|
!exists($verbose_emitted{$type})) {
|
||||||
|
$output .= $verbose_messages{$type} . "\n\n";
|
||||||
|
$verbose_emitted{$type} = 1;
|
||||||
|
}
|
||||||
|
|
||||||
push(our @report, $output);
|
push(our @report, $output);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue