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 $user_codespellfile = "";
|
||||
my $conststructsfile = "$D/const_structs.checkpatch";
|
||||
my $typedefsfile = "";
|
||||
my $docsfile = "";
|
||||
my $typedefsfile;
|
||||
my $color = "auto";
|
||||
my $allow_c99_comments = 1;
|
||||
my $git_command ='git'; # coreboot
|
||||
|
@ -86,6 +87,7 @@ Version: $V
|
|||
|
||||
Options:
|
||||
-q, --quiet quiet
|
||||
-v, --verbose verbose mode
|
||||
--no-tree run without a kernel tree
|
||||
--no-signoff do not check for 'Signed-off-by' line
|
||||
--patch treat FILE as patchfile (default)
|
||||
|
@ -162,15 +164,51 @@ sub list_types {
|
|||
my $text = <$script>;
|
||||
close($script);
|
||||
|
||||
my @types = ();
|
||||
my %types = ();
|
||||
# Also catch when type or level is passed through a variable
|
||||
for ($text =~ /(?:(?:\bCHK|\bWARN|\bERROR|&\{\$msg_level})\s*\(|\$msg_type\s*=)\s*"([^"]+)"/g) {
|
||||
push (@types, $_);
|
||||
while ($text =~ /(?:(\bCHK|\bWARN|\bERROR|&\{\$msg_level})\s*\(|\$msg_type\s*=)\s*"([^"]+)"/g) {
|
||||
if (defined($1)) {
|
||||
if (exists($types{$2})) {
|
||||
$types{$2} .= ",$1" if ($types{$2} ne $1);
|
||||
} else {
|
||||
$types{$2} = $1;
|
||||
}
|
||||
@types = sort(uniq(@types));
|
||||
} else {
|
||||
$types{$2} = "UNDETERMINED";
|
||||
}
|
||||
}
|
||||
|
||||
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");
|
||||
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);
|
||||
|
@ -202,6 +240,46 @@ if (-f $conf) {
|
|||
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.
|
||||
# Prevent --color by itself from consuming other arguments
|
||||
foreach (@ARGV) {
|
||||
|
@ -212,6 +290,7 @@ foreach (@ARGV) {
|
|||
|
||||
GetOptions(
|
||||
'q|quiet+' => \$quiet,
|
||||
'v|verbose!' => \$verbose,
|
||||
'tree!' => \$tree,
|
||||
'signoff!' => \$chk_signoff,
|
||||
'patch!' => \$chk_patch,
|
||||
|
@ -2056,7 +2135,16 @@ sub report {
|
|||
splice(@lines, 1, 1);
|
||||
$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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue