Module: tools Branch: master Commit: 551a16bd22932087c13106e884f6e5a2f7eec6d9 URL: https://source.winehq.org/git/tools.git/?a=commit;h=551a16bd22932087c13106e8... Author: Francois Gouget <fgouget(a)codeweavers.com> Date: Thu Feb 11 13:58:59 2021 +0100 testbot/LogUtils: Improve handling of child process crashes. The "unhandled exception in child process" line also tells us the pid of the child process so we can add it to the list of pids for the current test unit. ParseWineTestReport() should also count at least one failure for the child process (in case the regular "unhandled exception" line got lost). Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- testbot/lib/WineTestBot/LogUtils.pm | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/testbot/lib/WineTestBot/LogUtils.pm b/testbot/lib/WineTestBot/LogUtils.pm index 9164b47..7a72958 100644 --- a/testbot/lib/WineTestBot/LogUtils.pm +++ b/testbot/lib/WineTestBot/LogUtils.pm @@ -639,10 +639,17 @@ sub ParseWineTestReport($$$) $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 /) + $Line =~ /($Cur->{UnitsRE}):\d+: unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+)/) or + $Line =~ /^([_.a-z0-9]+):\d+: unhandled exception [0-9a-fA-F]{8} in child process ([0-9a-f]+)/) { - _CheckUnit($LogInfo, $Cur, $1, "child exception"); + my ($Unit, $Pid) = ($1, $2); + if ($Cur->{Units}->{$Unit}) + { + # This also replaces a test summary line. + $Cur->{Pids}->{$Pid || 0} = 1; + $Cur->{SummaryFailures}++; + } + _CheckUnit($LogInfo, $Cur, $Unit, "child exception"); $Cur->{LineFailures}++; } elsif (($Cur->{Unit} ne "" and