Diff
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js (121300 => 121301)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js 2012-06-26 23:39:57 UTC (rev 121300)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js 2012-06-26 23:43:03 UTC (rev 121301)
@@ -30,7 +30,7 @@
var kUpdateStepName = 'update';
var kUpdateScriptsStepName = 'update_scripts';
var kCompileStepName = 'compile';
-var kWebKitTestsStepName = 'webkit_tests';
+var kWebKitTestsStepNames = ['webkit_tests', 'layout-test'];
var kCrashedOrHungOutputMarker = 'crashed or hung';
@@ -51,8 +51,9 @@
function didFail(step)
{
- if (step.name == kWebKitTestsStepName) {
+ if (kWebKitTestsStepNames.indexOf(step.name) != -1) {
// run-webkit-tests fails to generate test coverage when it crashes or hangs.
+ // FIXME: Do build.webkit.org bots output this marker when the tests fail to run?
return step.text.indexOf(kCrashedOrHungOutputMarker) != -1;
}
return step.results[0] > 0 && step.text.indexOf('warning') == -1;
@@ -94,10 +95,7 @@
var builderNames = Object.keys(builderStatus);
var requestTracker = new base.RequestTracker(builderNames.length, callback, [buildInfoByBuilder]);
builderNames.forEach(function(builderName) {
- // FIXME: Should garden-o-matic show these? I can imagine showing the deps bots being useful at least so
- // that the gardener only need to look at garden-o-matic and never at the waterfall. Not really sure who
- // watches the GPU bots.
- if (builderName.indexOf('GPU') != -1 || builderName.indexOf('deps') != -1 || builderName.indexOf('ASAN') != -1) {
+ if (!config.kPlatforms[config.currentPlatform].builderApplies(builderName)) {
requestTracker.requestComplete();
return;
}
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js (121300 => 121301)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js 2012-06-26 23:39:57 UTC (rev 121300)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js 2012-06-26 23:43:03 UTC (rev 121301)
@@ -57,6 +57,36 @@
},
};
+var kExampleWebKitDotOrgBuilderStatusJSON = {
+ "Apple Lion Release WK2 (Tests)": {
+ "basedir": "Webkit_Linux",
+ "cachedBuilds": [11459, 11460, 11461, 11462],
+ "category": "6webkit linux latest",
+ "currentBuilds": [11462],
+ "pendingBuilds": 0,
+ "slaves": ["vm124-m1"],
+ "state": "building"
+ },
+ "GTK Linux 64-bit Debug": {
+ "basedir": "Webkit_Linux",
+ "cachedBuilds": [11459, 11460, 11461, 11462],
+ "category": "6webkit linux latest",
+ "currentBuilds": [11461, 11462],
+ "pendingBuilds": 0,
+ "slaves": ["vm124-m1"],
+ "state": "building"
+ },
+ "Qt Linux Release": {
+ "basedir": "Webkit_Linux",
+ "cachedBuilds": [11459, 11460, 11461, 11462],
+ "category": "6webkit linux latest",
+ "currentBuilds": [11461, 11462],
+ "pendingBuilds": 0,
+ "slaves": ["vm124-m1"],
+ "state": "building"
+ },
+};
+
var kExampleBuildInfoJSON = {
"blame": ["aba...@webkit.org"],
"builderName": "Webkit Linux",
@@ -993,6 +1023,51 @@
]);
});
+test("buildersFailing (Apple)", 3, function() {
+ var simulator = new NetworkSimulator();
+ builders.clearBuildInfoCache();
+
+ config.currentPlatform = 'apple';
+
+ var failingBuildInfoJSON = JSON.parse(JSON.stringify(kExampleBuildInfoJSON));
+ failingBuildInfoJSON.number = 11460;
+ failingBuildInfoJSON.steps[2].results[0] = 1;
+
+ var requestedURLs = [];
+ simulator.get = function(url, callback)
+ {
+ requestedURLs.push(url);
+ simulator.scheduleCallback(function() {
+ if (/\/json\/builders$/.exec(url))
+ callback(kExampleWebKitDotOrgBuilderStatusJSON);
+ else if (/Apple%20Lion%20Release%20WK2%20\(Tests\)/.exec(url))
+ callback(kExampleBuildInfoJSON);
+ else {
+ ok(false, "Unexpected URL: " + url);
+ callback();
+ }
+ });
+ };
+
+ simulator.runTest(function() {
+ builders.buildersFailingNonLayoutTests(function(builderNameList) {
+ deepEqual(builderNameList, {
+ "Apple Lion Release WK2 (Tests)": [
+ "webkit_gpu_tests"
+ ]
+ });
+ });
+ });
+
+ deepEqual(requestedURLs, [
+ "http://build.webkit.org/json/builders",
+ "http://build.webkit.org/json/builders/Apple%20Lion%20Release%20WK2%20(Tests)/builds/11461"
+ ]);
+
+ config.currentPlatform = 'chromium';
+});
+
+
test("buildersFailing (run-webkit-tests crash)", 3, function() {
var simulator = new NetworkSimulator();
builders.clearBuildInfoCache();
Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js (121300 => 121301)
--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js 2012-06-26 23:39:57 UTC (rev 121300)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js 2012-06-26 23:43:03 UTC (rev 121301)
@@ -50,6 +50,9 @@
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
},
+ builderApplies: function(builderName) {
+ return builderName.indexOf('Apple') != -1;
+ },
},
'chromium' : {
label : 'Chromium',
@@ -80,6 +83,12 @@
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return buildNumber;
},
+ builderApplies: function(builderName) {
+ // FIXME: Should garden-o-matic show these? I can imagine showing the deps bots being useful at least so
+ // that the gardener only need to look at garden-o-matic and never at the waterfall. Not really sure who
+ // watches the GPU bots.
+ return builderName.indexOf('GPU') == -1 && builderName.indexOf('deps') == -1 && builderName.indexOf('ASAN') == -1;
+ },
},
'gtk' : {
label : 'GTK',
@@ -89,7 +98,7 @@
builders: {
'GTK Linux 32-bit Release' : {version: '32-bit release'},
'GTK Linux 64-bit Release' : {version: '64-bit release'},
- 'GTK Linux 64-bit Debug' : {version: '64-bit debug',debug: true},
+ 'GTK Linux 64-bit Debug' : {version: '64-bit debug', debug: true},
},
haveBuilderAccumulatedResults : false,
useDirectoryListingForOldBuilds: false,
@@ -100,6 +109,9 @@
resultsDirectoryForBuildNumber: function(buildNumber, revision) {
return encodeURIComponent('r' + revision + ' (' + buildNumber + ')');
},
+ builderApplies: function(builderName) {
+ return builderName.indexOf('GTK') != -1;
+ },
},
};
Modified: trunk/Tools/ChangeLog (121300 => 121301)
--- trunk/Tools/ChangeLog 2012-06-26 23:39:57 UTC (rev 121300)
+++ trunk/Tools/ChangeLog 2012-06-26 23:43:03 UTC (rev 121301)
@@ -1,5 +1,19 @@
2012-06-26 Ojan Vafai <o...@chromium.org>
+ Only show the platform-appropriate builders for non-layout test failures in garden-o-matic
+ https://bugs.webkit.org/show_bug.cgi?id=90025
+
+ Reviewed by Simon Fraser.
+
+ Move the chromium-specific filtering code into config.js and replace it with a method on each platform
+ config. Also, let the webkit test step name be webkit_tests (build.chromium.org) or layout-test (build.webkit.org).
+
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
+ * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
+
+2012-06-26 Ojan Vafai <o...@chromium.org>
+
Fix failing garden-o-matic unittests
https://bugs.webkit.org/show_bug.cgi?id=90021