Module: tools Branch: master Commit: f3833ecc460d7ab17dd2051b14857faf0c106a0a URL: https://source.winehq.org/git/tools.git/?a=commit;h=f3833ecc460d7ab17dd2051b...
Author: Francois Gouget fgouget@codeweavers.com Date: Tue Apr 6 16:24:58 2021 +0200
testbot/LogUtils: Detect and report the dll version errors.
There should be no native dll while running the tests in Wine. Also all expected CreateProcess() errors have explanations. So report the others as failures. This also relaxes the GetReportLineCategory() regexps a bit to match the new 'version error' lines.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48062 Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
testbot/lib/WineTestBot/LogUtils.pm | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index dde4104..e6e89f5 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -325,8 +325,8 @@ sub GetReportLineCategory($) { return "skip"; } - if ($Line =~ /^ \w+=dll is (?:missing|native|a stub)/ or - $Line =~ /^ \w+=(?:load error|version error \d+|version not (?:found|present))$/ or + if ($Line =~ /^ \w+=dll is (?:missing|a stub)/ or + $Line =~ /^ \w+=(?:version error \d+|version not (?:found|present))/ or $Line =~ /^[_.a-z0-9-]+:[_a-z0-9]* start / or $Line =~ /: this is the last test seen before the exception/) { @@ -538,6 +538,7 @@ sub ParseWineTestReport($$$) }
my $LineNo = 0; + my $InDlls = 0; my $Cur = _NewCurrentUnit("", ""); foreach my $Line (<$LogFile>) { @@ -547,7 +548,21 @@ sub ParseWineTestReport($$$) chomp $Line; $Line =~ s/\r+$//;
- if ($Line =~ m%^([_.a-z0-9-]+):([_a-z0-9]*) (start|skipped) (?:-|[/_.a-z0-9-]+)%) + if ($InDlls == 0 and $Line =~ /^Dll info:$/) + { + $InDlls = 1; + } + elsif ($InDlls == 1 and + $Line =~ /^\s+\S+=(?:dll is native|load error \d+)$/) + { + _AddReportError($LogInfo, $Cur, $LineNo, $Line); + $Cur->{LineFailures}++; + } + elsif ($Line =~ /^Test output:$/) + { + $InDlls = 2; + } + elsif ($Line =~ m%^([_.a-z0-9-]+):([_a-z0-9]*) (start|skipped) (?:-|[/_.a-z0-9-]+)%) { my ($Dll, $Unit, $Type) = ($1, $2, $3);