Title: [90772] trunk/Tools
Revision
90772
Author
aba...@webkit.org
Date
2011-07-11 11:58:39 -0700 (Mon, 11 Jul 2011)

Log Message

Add some basic UI for showing regression ranges
https://bugs.webkit.org/show_bug.cgi?id=64243

Reviewed by Eric Seidel.

This UI is all temporary.  It exists mostly just to have some buttons
to click to exercise the code.

* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (90771 => 90772)


--- trunk/Tools/ChangeLog	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/ChangeLog	2011-07-11 18:58:39 UTC (rev 90772)
@@ -1,5 +1,21 @@
 2011-07-11  Adam Barth  <aba...@webkit.org>
 
+        Add some basic UI for showing regression ranges
+        https://bugs.webkit.org/show_bug.cgi?id=64243
+
+        Reviewed by Eric Seidel.
+
+        This UI is all temporary.  It exists mostly just to have some buttons
+        to click to exercise the code.
+
+        * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
+        * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
+        * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
+        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
+        * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
+
+2011-07-11  Adam Barth  <aba...@webkit.org>
+
         garden-o-matic should be able to determine which revisions caused a given failure
         https://bugs.webkit.org/show_bug.cgi?id=64189
 

Modified: trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js (90771 => 90772)


--- trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js	2011-07-11 18:58:39 UTC (rev 90772)
@@ -29,9 +29,10 @@
     setIconState($('.failures').length);
 }
 
-function expandResults()
+function showResults()
 {
-    var resultsSummary = $(this);
+    // FIXME: This is fragile.
+    var resultsSummary = $(this).parent().parent().parent();
     var testName = $('.testName', resultsSummary).text();
     $('.builderName', resultsSummary).each(function() {
         var builderName = $(this).text();
@@ -41,9 +42,25 @@
     });
 }
 
+function findRegressionRange()
+{
+    // FIXME: This is fragile!
+    var builderName = $('.builderName', $(this).parent()).text();
+    var testName = $('.testName', $(this).parent().parent().parent()).text();
+    results.regressionRangeForFailure(builderName, testName, function(oldestFailingRevision, newestPassingRevision) {
+        var tracURLs = [];
+        for (var i = newestPassingRevision + 1; i <= oldestFailingRevision; ++i) {
+            tracURLs.push('<a href="" + i + '">' + i + '</a>');
+        }
+        $('.butterbar .status').html('Regression range: ' + tracURLs.join(' '));
+        $('.butterbar').fadeIn();
+    });
+}
+
 $('.hide').live('click', hide);
 $('.quit').live('click', quit);
-$('.results-summary .test').live('click', expandResults);
+$('.show-results').live('click', showResults);
+$('.regression-range').live('click', findRegressionRange);
 
 $(document).ready(function() {
     fetchResults(function() {

Modified: trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js (90771 => 90772)


--- trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js	2011-07-11 18:58:39 UTC (rev 90772)
@@ -203,7 +203,10 @@
     ++self._indexOfNextKeyToFetch;
     g_resultsCache.get(key, function(resultsTree) {
         var resultNode = results.resultNodeForTest(resultsTree, self._testName);
-        callback(resultsTree['revision'], resultNode);
+        var revision = parseInt(resultsTree['revision'])
+        if (isNaN(revision))
+            revision = 0;
+        callback(revision, resultNode);
     });
 };
 

Modified: trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js (90771 => 90772)


--- trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js	2011-07-11 18:58:39 UTC (rev 90772)
@@ -138,7 +138,7 @@
 }
 
 test("regressionRangeForFailure", 3, function() {
-    simulator = new NetworkSimulator();
+    var simulator = new NetworkSimulator();
 
     var keyMap = {
         "agx0ZXN0LXJlc3VsdHNyEAsSCFRlc3RGaWxlGLncUAw": {
@@ -212,8 +212,8 @@
     };
     simulator.runTest(function() {
         results.regressionRangeForFailure("Mock Builder", "userscripts/another-test.html", function(oldestFailingRevision, newestPassingRevision) {
-            equals(oldestFailingRevision, "90426");
-            equals(newestPassingRevision, "90424");
+            equals(oldestFailingRevision, 90426);
+            equals(newestPassingRevision, 90424);
         });
     });
 });

Modified: trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js (90771 => 90772)


--- trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js	2011-07-11 18:58:39 UTC (rev 90772)
@@ -10,7 +10,7 @@
         block.append(testBlock);
         $('.testName', testBlock).text(testName);
         $.each(resultNodesByBuilder, function(builderName, resultNode) {
-            var builderBlock = $('<div class="builder"><div class="builderName"></div><div class="actual"></div><div class="expected"></div></div>');
+            var builderBlock = $('<div class="builder"><div class="builderName"></div><div class="actual"></div><div class="expected"></div><button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>');
             $('.builders', testBlock).append(builderBlock);
             $('.builderName', builderBlock).text(builderName);
             $('.actual', builderBlock).text(resultNode.actual);

Modified: trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js (90771 => 90772)


--- trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js	2011-07-11 18:54:13 UTC (rev 90771)
+++ trunk/Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js	2011-07-11 18:58:39 UTC (rev 90772)
@@ -24,15 +24,18 @@
     equal(resultsSummary.html(),
         '<div class="test">' +
             '<div class="testName">scrollbars/custom-scrollbar-with-incomplete-style.html</div>' +
-                '<div class="builders">' +
-                    '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">CRASH</div><div class="expected">IMAGE</div></div>' +
-                    '<div class="builder"><div class="builderName">Mock Linux</div><div class="actual">CRASH</div><div class="expected">TEXT</div></div>' +
-                '</div>' +
-            '</div>' +
+             '<div class="builders">' +
+                 '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">CRASH</div><div class="expected">IMAGE</div>' +
+                     '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
+                 '<div class="builder"><div class="builderName">Mock Linux</div><div class="actual">CRASH</div><div class="expected">TEXT</div>' +
+                     '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
+             '</div>' +
+        '</div>' +
         '<div class="test">' +
             '<div class="testName">userscripts/another-test.html</div>' +
             '<div class="builders">' +
-                '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">TEXT</div><div class="expected">PASS</div></div>' +
+                '<div class="builder"><div class="builderName">Mock Builder</div><div class="actual">TEXT</div><div class="expected">PASS</div>' +
+                    '<button class="show-results">Show Results</button><button class="regression-range">Regression Range</button></div>' +
             '</div>' +
         '</div>');
 });
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to