[tools 3/3] winetest/build-patterns: Add a header documenting the pattern pages.

Francois Gouget fgouget at codeweavers.com
Wed May 12 12:19:13 CDT 2021


Also tweak the descriptions for the pattern lists.

Signed-off-by: Francois Gouget <fgouget at codeweavers.com>
---
 winetest/build-patterns | 32 ++++++++++++++++++++++++++------
 1 file changed, 26 insertions(+), 6 deletions(-)

diff --git a/winetest/build-patterns b/winetest/build-patterns
index 38bd7c041..240bf6912 100755
--- a/winetest/build-patterns
+++ b/winetest/build-patterns
@@ -1114,22 +1114,41 @@ sub write_patterns_page($$$)
 </head>
 <body>
 <div class="navbar"><a href="..">index</a> | Failure patterns: <a href="patterns.html">all</a> | <a href="patterns-tb-win.html">testbot windows</a> | <a href="patterns-tb-wine.html">testbot wine</a></div>
+
+<div class='testfile' id='summary'>
+<div class='updownbar'>$title</div>
+<p>The purpose of this page is to:</p>
+<ul>
+  <li>Help detect new test failures, that is test / Wine regressions.</li>
+  <li>Help diagnose failures by showing when they are specific to a set of Windows versions, a locale, a day of the week, etc.</li>
+</ul>
+<p>The patterns on this page read as follows:</p>
+<ul>
+  <li>Each line corresponds to a test configuration sorted by platform and tag name.</li>
+  <li>Test configurations with no failure for a given test are omitted from that test's pattern.</li>
+  <li>Each column corresponds to a WineTest build from oldest to newest.</li>
+  <li>Lines with a _N suffix are when WineTest was run more than once for a test configuration + build combination. They are rare and thus hang at the bottom of the pattern to not disrupt it.</li>
+  <li>Each cell is a single letter describing the result for that test. See the tooltips for a description. Click on the letter to go to that result page.</li>
+  <li>Each result is also color coded to make the patterns pop out. There is one color per type of result (crash , timeout, etc.), and one per number of failures (to help detect changes).</li>
+  <li>Failure modes that have not been seen before (test that newly crashes, new failure count, etc.) are highlighted, as well as the configuration names in which it appears.</li>
+  <li>Below the patterns is a line showing which builds have potentially related commits if any.
+</ul>
 EOF
 
     # Show the test units with recent failures first.
     # Also use these lists to link the test units to each other.
     my %lists = (
         recent   => {title => "Recent failures",
-                     desc => "have recent failures (that is failures that did not happen for the $patternbuilds oldest builds).",
+                     desc => "recently started failing (the $patternbuilds oldest builds had no failure).",
                      testnames => []},
         newmode  => {title => "New failure modes",
-                    desc => "failed in new ways in the $patternbuilds most recent builds.",
+                    desc => "failed in new ways in the $patternbuilds most recent builds (for instance they have more failures than before).",
                     testnames => []},
         regular  => {title => "Regular failures",
-                     desc => "had failures.",
+                     desc => "have failures... as usual :-(.",
                      testnames => []},
         old      => {title => "Old failures",
-                     desc => "had no failure in the most recent $patternbuilds builds. Fixed or just rare failures?",
+                     desc => "look like they are fixed: they had no failure in the most recent $patternbuilds builds but that may also just be a lucky streak.",
                      testnames => []},
     );
     foreach my $testname (sort keys %tests)
@@ -1202,7 +1221,7 @@ EOF
     }
 
     # Generate the lists index (and up test unit links)
-    print $html "<h1>$title</h1>\n";
+    print $html "<p>The patterns are grouped according to the likelyhood that they contain new failures:</p>\n";
     print $html "<ul>\n";
     my @listids = ("recent", "newmode", "regular", "old");
     my ($prevunit, $nolist) = ("", 1);
@@ -1211,13 +1230,14 @@ EOF
         my $list = $lists{$listid};
         my $count = @{$list->{testnames}};
         next if (!$count);
-        print $html "<li><a href='#$listid'>$count test units</a> $list->{desc}</li>\n";
+        print $html "<li><a href='#$listid'>$count tests</a> $list->{desc}</li>\n";
         $nolist = 0;
         $list->{prevunit} = $prevunit;
         $prevunit = $list->{testnames}->[-1];
     }
     print $html "<p>No failures. Don't change anything!</p>\n" if ($nolist);
     print $html "</ul>\n";
+    print $html "</div>\n";
 
     # Link the last test unit of each list to the first one of the next list
     my $nextunit;
-- 
2.20.1



More information about the wine-devel mailing list