Module: tools
Branch: master
Commit: 640b17c676f9497a7ce0ed660740e47fa312c230
URL: https://source.winehq.org/git/tools.git/?a=commit;h=640b17c676f9497a7ce0ed6…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Tue Mar 2 15:41:36 2021 +0100
testbot/TestWTBS: Allow ignoring inherited error lists.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/tests/TestWTBS | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/testbot/tests/TestWTBS b/testbot/tests/TestWTBS
index e9fa98e..81b56c4 100755
--- a/testbot/tests/TestWTBS
+++ b/testbot/tests/TestWTBS
@@ -678,6 +678,17 @@ Finally, note that while the error directives are inherited by subcategories,
they are not merged. So if if both win and win32 have error-matching
directives, win32 will not inherit anything from the win category.
+=item <tasks.(report|log|testbot).Errors>
+
+Inheritance of the reference error lists cannot be prevented but can be ignored
+by setting this property to 'ignore'.
+
+For instance:
+g 0 build.log.
+n 0 Task: The exe32 Wine build failed
+p wine:build.log.Errors ignore
+a wine:build.log.Grep ^Task: The (win32|wow64) Wine build failed
+
=cut
sub CheckLogErrors($$$$)
@@ -957,9 +968,11 @@ sub CheckTask($$$$)
$LogType = "testbot";
}
- if ($MissionInfo->{"$LogType.errors"} or $CheckTimeouts)
+ my $RefErrors = SkipCheck($MissionInfo->{"$LogType.Errors"}) ? undef :
+ $MissionInfo->{"$LogType.errors"};
+ if ($RefErrors or $CheckTimeouts)
{
- my $HasTimeout = CheckLogErrors($LogInfo, $MissionInfo->{"$LogType.errors"},
+ my $HasTimeout = CheckLogErrors($LogInfo, $RefErrors,
TaskKeyStr($Task) ."/$LogName",
$MissionInfo->{HasTimeout});
$TimeoutCount++ if ($HasTimeout);
Module: tools
Branch: master
Commit: ced67f30c6e39dd3ec3e5452064889adeb68e9bd
URL: https://source.winehq.org/git/tools.git/?a=commit;h=ced67f30c6e39dd3ec3e545…
Author: Francois Gouget <fgouget(a)codeweavers.com>
Date: Tue Mar 2 15:41:22 2021 +0100
testbot/web: Use .errors files to highlight errors in full logs.
Instead of relying on Get*LineCategory() to identify error lines and
only using the .errors information to single out new errors; JobDetails
now uses the .errors file for both and only uses Get*LineCategory() to
highlight warnings, informational messages, etc.
Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
testbot/web/JobDetails.pl | 22 +++++++++-------------
1 file changed, 9 insertions(+), 13 deletions(-)
diff --git a/testbot/web/JobDetails.pl b/testbot/web/JobDetails.pl
index 7a4f4fc..8d4270a 100644
--- a/testbot/web/JobDetails.pl
+++ b/testbot/web/JobDetails.pl
@@ -368,20 +368,16 @@ sub GenerateFullLog($$$$)
print "<pre class='log-note'>Some WineTest results could not be used to detect new errors: $LogInfo->{BadRef}</pre>\n";
}
- my %NewLineNos;
- if ($LogInfo->{ErrCount})
+ my %ErrLineNos;
+ foreach my $GroupName (@{$LogInfo->{ErrGroupNames}})
{
- foreach my $GroupName (@{$LogInfo->{ErrGroupNames}})
+ my $Group = $LogInfo->{ErrGroups}->{$GroupName};
+ my $ErrCount = @{$Group->{Errors}};
+ next if (!$ErrCount);
+ for my $ErrIndex (0..$ErrCount-1)
{
- my $Group = $LogInfo->{ErrGroups}->{$GroupName};
- next if (!$Group->{NewCount});
- for my $ErrIndex (0..@{$Group->{Errors}} - 1)
- {
- if ($Group->{IsNew}->[$ErrIndex])
- {
- $NewLineNos{$Group->{LineNos}->[$ErrIndex]} = 1;
- }
- }
+ $ErrLineNos{$Group->{LineNos}->[$ErrIndex]} = \
+ $Group->{IsNew}->[$ErrIndex] ? "fullnew" : "error";
}
}
@@ -404,7 +400,7 @@ sub GenerateFullLog($$$$)
}
my $Html = $self->escapeHTML($Line);
- my $Category = $NewLineNos{$LineNo} ? "fullnew" : $GetCategory->($Line);
+ my $Category = $ErrLineNos{$LineNo} || $GetCategory->($Line);
if ($Category ne "none")
{
$Html =~ s~^(.*\S)\s*\r?$~<span class='log-$Category'>$1</span>~;