Module: tools Branch: master Commit: c0be1870cb2a80620939ae364049686fba924854 URL: https://source.winehq.org/git/tools.git/?a=commit;h=c0be1870cb2a80620939ae36...
Author: Francois Gouget fgouget@codeweavers.com Date: Tue Mar 17 00:02:47 2020 +0100
testbot/LogUtils: Handle child process crashes.
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 Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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 57229bc..99c30e0 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/;