Skip to content
Permalink
Browse files
Don't assume that builds finish in the order they were started
Fixes <http://webkit.org/b/61464> TestFailures page shows failures from a not-most-recent
build when one slave is taking a long time to finish a build

Reviewed by Antti Koivisto.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
(Builder.prototype.getMostRecentCompletedBuildNumber): Don't assume that all builds that are
newer than the oldest in-progress build are also themselves in progress. Just check whether
each build is actually in progress (as signified by its presence in the currentBuilds set).

Canonical link: https://commits.webkit.org/76931@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@87380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
  • Loading branch information
aroben committed May 26, 2011
1 parent 50e3a81 commit c879857c30395d75ece730b0425d2cfc3f463ed4
Showing with 17 additions and 3 deletions.
  1. +3 −3 Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js
  2. +14 −0 Tools/ChangeLog
@@ -68,12 +68,12 @@ Builder.prototype = {
getResource(self.buildbot.baseURL + 'json/builders/' + self.name, function(xhr) {
var data = JSON.parse(xhr.responseText);

var oldestUnfinishedBuild = Infinity;
var currentBuilds = {};
if ('currentBuilds' in data)
oldestUnfinishedBuild = data.currentBuilds[0];
data.currentBuilds.forEach(function(buildNumber) { currentBuilds[buildNumber] = true });

for (var i = data.cachedBuilds.length - 1; i >= 0; --i) {
if (data.cachedBuilds[i] >= oldestUnfinishedBuild)
if (data.cachedBuilds[i] in currentBuilds)
continue;

self._cache[cacheKey] = data.cachedBuilds[i];
@@ -1,3 +1,17 @@
2011-05-25 Adam Roben <aroben@apple.com>

Don't assume that builds finish in the order they were started

Fixes <http://webkit.org/b/61464> TestFailures page shows failures from a not-most-recent
build when one slave is taking a long time to finish a build

Reviewed by Antti Koivisto.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
(Builder.prototype.getMostRecentCompletedBuildNumber): Don't assume that all builds that are
newer than the oldest in-progress build are also themselves in progress. Just check whether
each build is actually in progress (as signified by its presence in the currentBuilds set).

2011-05-25 Adam Roben <aroben@apple.com>

Correctly detect cases where only a single test failed/crashed/timed out

0 comments on commit c879857

Please sign in to comment.