[tools] winetest/dissect: Fix handling of near timeouts.

Francois Gouget fgouget at codeweavers.com
Wed Mar 4 02:47:57 CST 2020


Sometimes WineTest times out waiting for a test but that test completes 
at almost the same time so that there is still a valid result line. This 
was causing dissect to complain about the inconsistency between the 
test's failure count and the 258 'exit code'.
With this change dissect matches the TestBot Wine report parser.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 winetest/dissect | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/winetest/dissect b/winetest/dissect
index 87fdc65ad7..8f30ccde2a 100755
--- a/winetest/dissect
+++ b/winetest/dissect
@@ -739,17 +739,17 @@ while ($line = <IN>) {
         my $class = $l_rc ? "failed" : "";
         add_test_line($class, escapeHTML($line));
 
-        if ((!$l_pid and !%pids) or ($l_pid and !$pids{$l_pid} and !$pids{0}))
+        if ($l_rc == 258)
+        {
+            add_test_line("end", "Test failed: timed out");
+            $summary = "failed 258";
+            $extra_failures++;
+            $broken = 1;
+        }
+        elsif ((!$l_pid and !%pids) or ($l_pid and !$pids{$l_pid} and !$pids{0}))
         {
             # The main summary line is missing
-            if ($l_rc == 258)
-            {
-                add_test_line("end", "Test failed: timed out");
-                $summary = "failed 258";
-                $extra_failures++;
-                $broken = 1;
-            }
-            elsif ($l_rc & 0xc0000000)
+            if ($l_rc & 0xc0000000)
             {
                 add_test_line("end", sprintf("Test failed: crash (%08x)", $l_rc & 0xffffffff));
                 $summary = "failed crash";
-- 
2.20.1



More information about the wine-devel mailing list