Make sure they are included in the failure count, highlighted as failures and sanitized before comparison for the new failures detection.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651 Signed-off-by: Francois Gouget fgouget@codeweavers.com ---
I'm sending this patch as a reply to the Wine one because they work together and maybe that makes review easier (or maybe it's the opposite).
In any case they don't have to be committed or rather 'put in production' in a specific order. Either one on its own won't make things worse than they currently are.
testbot/lib/WineTestBot/LogUtils.pm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index 57229bc40d..99c30e0f76 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -327,7 +327,7 @@ sub GetReportLineCategory($) if ($Line =~ /: Test (?:failed|succeeded inside todo block): / or $Line =~ /Fatal: test .* does not exist/ or $Line =~ / done (258)/ or - $Line =~ /: unhandled exception [0-9a-fA-F]{8} at / or + $Line =~ /: unhandled exception [0-9a-fA-F]{8} (?:at|in) / or $Line =~ /^Unhandled exception: /) { return "error"; @@ -627,6 +627,13 @@ sub ParseWineTestReport($$$) _CheckUnit($LogInfo, $Cur, $Unit, "unhandled exception"); $Cur->{LineFailures}++; } + elsif (($Cur->{Unit} ne "" and + $Line =~ /($Cur->{UnitsRE}):\d+: unhandled exception [0-9a-fA-F]{8} in child process /) or + $Line =~ /^([_.a-z0-9]+):\d+: unhandled exception [0-9a-fA-F]{8} in child process /) + { + _CheckUnit($LogInfo, $Cur, $1, "child exception"); + $Cur->{LineFailures}++; + } elsif (($Cur->{Unit} ne "" and $Line =~ /([0-9a-f]+):($Cur->{Unit}): \d+ tests? executed ((\d+) marked as todo, (\d+) failures?), (\d+) skipped./) or $Line =~ /^([0-9a-f]+):([_a-z0-9]+): \d+ tests? executed ((\d+) marked as todo, (\d+) failures?), (\d+) skipped./) @@ -1054,6 +1061,8 @@ sub _GetLineKey($) or $Line =~ s/^(Unhandled exception: .* code) (0x[0-9a-fA-F]{8,16}).$/$1/ # or the process id in Wine's exc_filter() lines or $Line =~ s/^[0-9a-f]+:([_a-z0-9]+: unhandled exception [0-9a-fA-F]{8} at )[0-9a-fA-F]{8,16}$/$1/ + # or child process id + or $Line =~ s/^([_.a-z0-9]+:)\d+:( unhandled exception [0-9a-fA-F]{8} in child process )[0-9a-fA-F]{4}$/$1$2/
# The exact amount of data printed does not change the error or $Line =~ s/^([_.a-z0-9-]+:[_a-z0-9]* prints too much data )(\d+ bytes)$/$1/;