Title: [121301] trunk/Tools
Revision
121301
Author
o...@chromium.org
Date
2012-06-26 16:43:03 -0700 (Tue, 26 Jun 2012)

Log Message

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:

Modified Paths

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
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to