Title: [89840] trunk/Tools
Revision
89840
Author
[email protected]
Date
2011-06-27 11:28:36 -0700 (Mon, 27 Jun 2011)

Log Message

Make TestFailures load build names from build.webkit.org/old-results too

Build results are periodically moved from results to old-results. This change makes those
builds still visible to TestFailures.

Fixes <http://webkit.org/b/63453> TestFailures page doesn't show information for builds that
have been moved to build.webkit.org/old-results

Reviewed by Anders Carlsson.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
(Builder.prototype.getBuildNames): Extracted code to parse build names from a
build.webkit.org directory listing into a separate function. Instead of omitting .zip files,
we now only include directory entries whose names are parseable as build names (since
old-results sometimes contains other random files/directories from who knows what). We now
fetch both results and old-results (with a FIXME about loading old-results on demand),
extract build names from each, and concatenate the two sets of names.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBuildbot.js:
(WebKitBuildbot.prototype.parseBuildName): Changed to return null when the build name isn't
parseable, rather than throwing an exception.

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js (89839 => 89840)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js	2011-06-27 18:28:05 UTC (rev 89839)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js	2011-06-27 18:28:36 UTC (rev 89840)
@@ -177,19 +177,28 @@
         }
 
         var self = this;
-        getResource(this.buildbot.baseURL + 'results/' + this.name, function(xhr) {
+
+        function buildNamesFromDirectoryXHR(xhr) {
             var root = document.createElement('html');
             root.innerHTML = xhr.responseText;
 
             var buildNames = Array.prototype.map.call(root.querySelectorAll('td:first-child > a > b'), function(elem) {
                 return elem.innerText.replace(/\/$/, '');
             }).filter(function(filename) {
-                return !/\.zip$/.test(filename);
+                return self.buildbot.parseBuildName(filename);
             });
             buildNames.reverse();
 
-            self._cache[cacheKey] = buildNames;
-            callback(buildNames);
+            return buildNames;
+        }
+
+        getResource(self.buildbot.baseURL + 'results/' + self.name, function(xhr) {
+            // FIXME: It would be better for performance if we could avoid loading old-results until needed.
+            getResource(self.buildbot.baseURL + 'old-results/' + self.name, function(oldXHR) {
+                var buildNames = buildNamesFromDirectoryXHR(xhr).concat(buildNamesFromDirectoryXHR(oldXHR));
+                self._cache[cacheKey] = buildNames;
+                callback(buildNames);
+            });
         });
     },
 };

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBuildbot.js (89839 => 89840)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBuildbot.js	2011-06-27 18:28:05 UTC (rev 89839)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBuildbot.js	2011-06-27 18:28:36 UTC (rev 89840)
@@ -30,6 +30,8 @@
 WebKitBuildbot.prototype = {
     parseBuildName: function(buildName) {
         var match = /^r(\d+) \((\d+)\)$/.exec(buildName);
+        if (!match)
+            return null;
         return {
             revision: parseInt(match[1], 10),
             buildNumber: parseInt(match[2], 10),

Modified: trunk/Tools/ChangeLog (89839 => 89840)


--- trunk/Tools/ChangeLog	2011-06-27 18:28:05 UTC (rev 89839)
+++ trunk/Tools/ChangeLog	2011-06-27 18:28:36 UTC (rev 89840)
@@ -1,3 +1,27 @@
+2011-06-27  Adam Roben  <[email protected]>
+
+        Make TestFailures load build names from build.webkit.org/old-results too
+
+        Build results are periodically moved from results to old-results. This change makes those
+        builds still visible to TestFailures.
+
+        Fixes <http://webkit.org/b/63453> TestFailures page doesn't show information for builds that
+        have been moved to build.webkit.org/old-results
+
+        Reviewed by Anders Carlsson.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
+        (Builder.prototype.getBuildNames): Extracted code to parse build names from a
+        build.webkit.org directory listing into a separate function. Instead of omitting .zip files,
+        we now only include directory entries whose names are parseable as build names (since
+        old-results sometimes contains other random files/directories from who knows what). We now
+        fetch both results and old-results (with a FIXME about loading old-results on demand),
+        extract build names from each, and concatenate the two sets of names.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBuildbot.js:
+        (WebKitBuildbot.prototype.parseBuildName): Changed to return null when the build name isn't
+        parseable, rather than throwing an exception.
+
 2011-06-26  Adam Roben  <[email protected]>
 
         Store analyzed history directly in LayoutTestHistoryAnalyzer instead of in a generic cache
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to