Add support to the botwatchers dashboard for a static analyzer bot.
authordburkart@apple.com <dburkart@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 23 May 2015 00:11:30 +0000 (00:11 +0000)
committerdburkart@apple.com <dburkart@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Sat, 23 May 2015 00:11:30 +0000 (00:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=144814

Reviewed by Alexey Proskuryakov.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
scan-build should be considered a productive step.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
(BuildbotQueue):
Adds support for the staticAnalyzer property

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
(BuildbotTestResults.prototype._parseResults):
Get bug count from the scan-build step output

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
(documentReady):
Rename the performance column 'Other', and merge the current 'Other' column with it.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
Now that performance bots are part of the 'Other' column, give them better headings.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@184804 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js
Tools/BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js
Tools/ChangeLog

index 71d5839..718afab 100644 (file)
@@ -75,7 +75,8 @@ BuildbotIteration.ProductiveSteps = {
     "webkitpy-test": 1,
     "webkitperl-test": 1,
     "bindings-generation-tests": 1,
-    "perf-test": 1
+    "perf-test": 1,
+    "scan build": 1,
 };
 
 BuildbotIteration.TestSteps = {
index c9421f8..8cc02a3 100644 (file)
@@ -39,6 +39,7 @@ BuildbotQueue = function(buildbot, id, info)
     this.builder = info.builder || false;
     this.tester = info.tester || false;
     this.performance = info.performance || false;
+    this.staticAnalyzer = info.staticAnalyzer || false;
     this.leaks = info.leaks || false;
     this.architecture = info.architecture || null;
     this.testCategory = info.testCategory || null;
index ff011f4..2519d39 100644 (file)
@@ -93,6 +93,7 @@ BuildbotTestResults.prototype = {
         this.newPassesCount = testStep.results[1].reduce(resultSummarizer.bind(null, "new pass"), undefined);
         this.missingCount = testStep.results[1].reduce(resultSummarizer.bind(null, "missing"), undefined);
         this.crashCount = testStep.results[1].reduce(resultSummarizer.bind(null, "crash"), undefined);
+        this.issueCount = testStep.results[1].reduce(resultSummarizer.bind(null, "issue"), undefined);
 
         if (!this.failureCount && !this.flakyCount && !this.totalLeakCount && !this.uniqueLeakCount && !this.newPassesCount && !this.missingCount) {
             // This step exited with a non-zero exit status, but we didn't find any output about the number of failed tests.
@@ -146,7 +147,7 @@ BuildbotTestResults.prototype = {
 
                         // FIXME (bug 127186): It is particularly unfortunate for image diffs, because we currently only check image results
                         // on retry (except for reftests), so many times, you will see images on buildbot page, but not on the dashboard.
-                        // FIXME: Find a way to display expected mismatch reftest failures. 
+                        // FIXME: Find a way to display expected mismatch reftest failures.
                         if (value.actual.split(" ")[0].contains("IMAGE") && value.reftest_type != "!=")
                             item.has_image_diff = true;
 
index 9c5e5fd..bcb5667 100644 (file)
@@ -47,6 +47,8 @@ for (var i = 0; i < buildbots.length; ++i) {
             categoryName = "performance";
         else if (queue.leaks)
             categoryName = "leaks";
+        else if (queue.staticAnalyzer)
+            categoryName = "staticAnalyzer";
         else {
             console.assert("Unknown queue type.");
             continue;
@@ -147,16 +149,9 @@ function documentReady()
     }
 
     var header = document.createElement("th");
-    header.textContent = "Performance";
+    header.textContent = "Other";
     row.appendChild(header);
 
-    if (hasBubbles) {
-        // Currently, EWS and commit queues are the only items in Other category.
-        var header = document.createElement("th");
-        header.textContent = "Other";
-        row.appendChild(header);
-    }
-
     table.appendChild(row);
 
     var platforms = sortedPlatforms();
@@ -215,6 +210,11 @@ function documentReady()
             cell.appendChild(view.element);
         }
 
+        if (platformQueues.staticAnalyzer) {
+            var view = new BuildbotStaticAnalyzerQueueView(platformQueues.staticAnalyzer.release);
+            cell.appendChild(view.element);
+        }
+
         if (platformQueues.leaks) {
             var view = new BuildbotLeaksQueueView(platformQueues.leaks);
             cell.appendChild(view.element);
@@ -223,8 +223,6 @@ function documentReady()
         row.appendChild(cell);
 
         if (hasBubbles) {
-            var cell = document.createElement("td");
-
             if (platformQueues[BubblesCategory]) {
                 var view = new BubbleQueueView(platformQueues[BubblesCategory]);
                 cell.appendChild(view.element);
index bbf44eb..702eb07 100644 (file)
@@ -32,7 +32,7 @@ WebKitBuildbot = function()
         "Apple Mavericks Debug WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
         "Apple Mavericks Release WK1 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
         "Apple Mavericks Release WK2 (Tests)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
-        "Apple Mavericks Release WK2 (Perf)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, performance: true},
+        "Apple Mavericks Release WK2 (Perf)": {platform: Dashboard.Platform.MacOSXMavericks, debug: false, performance: true, heading: "Performance"},
         "Apple Yosemite Debug (Build)": {platform: Dashboard.Platform.MacOSXYosemite, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
         "Apple Yosemite Release (Build)": {platform: Dashboard.Platform.MacOSXYosemite, debug: false, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
         "Apple Yosemite Release (32-bit Build)": {platform: Dashboard.Platform.MacOSXYosemite, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
@@ -40,7 +40,7 @@ WebKitBuildbot = function()
         "Apple Yosemite Debug WK2 (Tests)": {platform: Dashboard.Platform.MacOSXYosemite, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
         "Apple Yosemite Release WK1 (Tests)": {platform: Dashboard.Platform.MacOSXYosemite, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit1},
         "Apple Yosemite Release WK2 (Tests)": {platform: Dashboard.Platform.MacOSXYosemite, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
-        "Apple Yosemite Release WK2 (Perf)": {platform: Dashboard.Platform.MacOSXYosemite, debug: false, performance: true},
+        "Apple Yosemite Release WK2 (Perf)": {platform: Dashboard.Platform.MacOSXYosemite, debug: false, performance: true, heading: "Performance"},
         "Apple Yosemite (Leaks)": {platform: Dashboard.Platform.MacOSXYosemite, debug: true, leaks: true},
         "Apple Win Debug (Build)": {platform: Dashboard.Platform.Windows7, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
         "Apple Win Release (Build)": {platform: Dashboard.Platform.Windows7, builder: true, architecture: Buildbot.BuildArchitecture.ThirtyTwoBit},
@@ -50,9 +50,9 @@ WebKitBuildbot = function()
         "GTK Linux 64-bit Release (Tests)": {platform: Dashboard.Platform.LinuxGTK, debug: false, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
         "GTK Linux 64-bit Debug (Build)": {platform: Dashboard.Platform.LinuxGTK, debug: true, builder: true, architecture: Buildbot.BuildArchitecture.SixtyFourBit},
         "GTK Linux 64-bit Debug (Tests)": {platform: Dashboard.Platform.LinuxGTK, debug: true, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
-        "GTK Linux 64-bit Release (Perf)": {platform: Dashboard.Platform.LinuxGTK, debug: false, performance: true},
+        "GTK Linux 64-bit Release (Perf)": {platform: Dashboard.Platform.LinuxGTK, debug: false, performance: true, heading: "Performance"},
         "EFL Linux 64-bit Release WK2": {platform: Dashboard.Platform.LinuxEFL, tester: true, testCategory: Buildbot.TestCategory.WebKit2},
-        "EFL Linux 64-bit Release WK2 (Perf)": {platform: Dashboard.Platform.LinuxEFL, performance: true}
+        "EFL Linux 64-bit Release WK2 (Perf)": {platform: Dashboard.Platform.LinuxEFL, performance: true, heading: "Performance"}
     };
 
     Buildbot.call(this, "https://build.webkit.org/", queueInfo);
index 539d4e6..ea39859 100644 (file)
@@ -1,3 +1,29 @@
+2015-05-22  Dana Burkart  <dburkart@apple.com>
+
+        Add support to the botwatchers dashboard for a static analyzer bot.
+        https://bugs.webkit.org/show_bug.cgi?id=144814
+
+        Reviewed by Alexey Proskuryakov.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
+        scan-build should be considered a productive step.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotQueue.js:
+        (BuildbotQueue):
+        Adds support for the staticAnalyzer property
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
+        (BuildbotTestResults.prototype._parseResults):
+        Get bug count from the scan-build step output
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Main.js:
+        (documentReady):
+        Rename the performance column 'Other', and merge the current 'Other' column with it.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
+        (WebKitBuildbot):
+        Now that performance bots are part of the 'Other' column, give them better headings.
+
 2015-05-22  Tim Horton  <timothy_horton@apple.com>
 
         Turn on autosaving of toolbar configuration in MiniBrowser