[tools] winetest/dissect: Handle child process crashes.

Francois Gouget fgouget at codeweavers.com
Thu Feb 11 06:59:13 CST 2021


Make sure they are included in the failure count.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48651
Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 winetest/dissect | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/winetest/dissect b/winetest/dissect
index c20dab654..c1590ba01 100755
--- a/winetest/dissect
+++ b/winetest/dissect
@@ -693,6 +693,21 @@ while ($line = <IN>) {
         $failures++;
         add_test_line("failed", escapeHTML($line));
     }
+    elsif (($unit ne "" and
+            $line =~ /($units_re):\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]+)/)
+    {
+        my ($l_unit, $l_pid) = ($1, $2);
+        if ($units{$l_unit})
+        {
+          # This also replaces a test summary line.
+          $pids{$l_pid || 0} = 1;
+          $s_failures++;
+        }
+        add_test_line("failed", escapeHTML($line));
+        check_unit($l_unit, "child exception");
+        $failures++;
+    }
     elsif (($unit ne "" and
             $line =~ /([0-9a-f]+):($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\./)
-- 
2.20.1



More information about the wine-devel mailing list