Title: [115337] trunk/Tools
Revision
115337
Author
[email protected]
Date
2012-04-26 11:47:18 -0700 (Thu, 26 Apr 2012)

Log Message

Show flakiness dashboard data in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=83716

Reviewed by Dimitri Glazkov.

Put an iframe below the expected/actual results in the Results view.
Size the iframe to it's height.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:

Modified Paths

Diff

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html	2012-04-26 18:47:18 UTC (rev 115337)
@@ -34,7 +34,7 @@
                                          font-src http://themes.googleusercontent.com;
                                          img-src https://ajax.googleapis.com http://build.chromium.org file:;
                                          media-src http://build.chromium.org;
-                                         frame-src http://build.chromium.org;
+                                         frame-src http://build.chromium.org http://test-results.appspot.com;
                                          connect-src http://trac.webkit.org http://build.chromium.org http://127.0.0.1:8127">
 <title>Garden-O-Matic</title>
 <link rel="stylesheet" href=""

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html	2012-04-26 18:47:18 UTC (rev 115337)
@@ -37,6 +37,8 @@
 <h2 id="qunit-userAgent"></h2>
 <ol id="qunit-tests"></ol>
 
+<link rel="stylesheet" href=""
+
 <script src=""
 <script src=""
 <script src=""

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js	2012-04-26 18:47:18 UTC (rev 115337)
@@ -191,12 +191,41 @@
     });
 }
 
+ui.results.FlakinessData = base.extends('iframe', {
+    init: function()
+    {
+        this.className = 'flakiness-iframe';
+        this.src = ""
+        this.addEventListener('load', function() {
+            window.addEventListener('message', this._handleMessage.bind(this));
+        });
+    },
+    _handleMessage: function(event) {
+        if (!this.contentWindow)
+            return;
+
+        // Check for null event.origin so that the unittests can get past this point.
+        // FIXME: Is this safe? In practice, there's no meaningful harm that can come from
+        // a malicious page sending us heightChanged commands, so it doesn't really matter.
+        if (event.origin !== 'null' && event.origin != 'http://test-results.appspot.com') {
+            console.log('Invalid origin: ' + event.origin);
+            return;
+        }
+
+        if (event.data.command != 'heightChanged') {
+            console.log('Unknown postMessage command: ' + event.data);
+            return;
+        }
+
+        this.style.height = event.data.height + 'px';
+    }
+});
+
 ui.results.TestSelector = base.extends('div', {
     init: function(delegate, resultsByTest)
     {
         this.className = 'test-selector';
         this._delegate = delegate;
-        this._resultsByTest = resultsByTest;
 
         var topPanel = document.createElement('div');
         topPanel.className = 'top-panel';
@@ -208,6 +237,9 @@
         bottomPanel.className = 'bottom-panel';
         this.appendChild(bottomPanel);
 
+        this._flakinessData = new ui.results.FlakinessData();
+        this.appendChild(this._flakinessData);
+
         Object.keys(resultsByTest).sort().forEach(function(testName) {
             var nonLinkTitle = document.createElement('a');
             nonLinkTitle.classList.add('non-link-title');
@@ -259,9 +291,12 @@
             activeHeader.classList.remove('active');
         header.classList.add('active');
 
+        var testName = this.currentTestName();
+        this._flakinessData.src = ""
+
         var bottomPanel = this.querySelector('.bottom-panel')
         bottomPanel.innerHTML = '';
-        bottomPanel.appendChild(this._delegate.contentForTest(this.currentTestName()));
+        bottomPanel.appendChild(this._delegate.contentForTest(testName));
 
         var topPanel = this.querySelector('.top-panel');
         topPanel.scrollTop = header.offsetTop;

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js	2012-04-26 18:47:18 UTC (rev 115337)
@@ -25,8 +25,25 @@
 
 (function () {
 
-module("iu.results");
+module('ui.results');
 
+asyncTest('FlakinessData', 1, function() {
+    var dashboard = new ui.results.FlakinessData();
+    dashboard.addEventListener('load', function() {
+        // setTimeout to be after the FlakinessData's load handler.
+        setTimeout(function() {
+            window.postMessage({command: 'heightChanged', height: 15}, '*');
+            // setTimeout to be after the postMessage has been handled.
+            setTimeout(function() {
+                equals(dashboard.offsetHeight, 15);
+                $(dashboard).detach();
+                start();
+            }, 0);
+        }, 0);
+    });
+    document.body.appendChild(dashboard);
+});
+
 var kExampleResultsByTest = {
     "scrollbars/custom-scrollbar-with-incomplete-style.html": {
         "Mock Builder": {

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js	2012-04-26 18:47:18 UTC (rev 115337)
@@ -44,12 +44,17 @@
     return 'http://trac.webkit.org/browser/trunk/LayoutTests/' + testName;
 }
 
-ui.urlForFlakinessDashboard = function(testNameList)
+ui.urlForFlakinessDashboard = function(opt_testNameList)
 {
-    var testsParameter = testNameList.join(',');
+    var testsParameter = opt_testNameList ? opt_testNameList.join(',') : '';
     return 'http://test-results.appspot.com/dashboards/flakiness_dashboard.html#tests=' + encodeURIComponent(testsParameter);
 }
 
+ui.urlForEmbeddedFlakinessDashboard = function(opt_testNameList)
+{
+    return ui.urlForFlakinessDashboard(opt_testNameList) + '&showChrome=false';
+}
+
 ui.rolloutReasonForTestNameList = function(testNameList)
 {
     return 'Broke:\n' + testNameList.map(function(testName) {

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js	2012-04-26 18:47:18 UTC (rev 115337)
@@ -25,7 +25,7 @@
 
 (function () {
 
-module("iu");
+module("ui");
 
 var kExampleResultsByTest = {
     "scrollbars/custom-scrollbar-with-incomplete-style.html": {

Modified: trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css (115336 => 115337)


--- trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css	2012-04-26 18:47:18 UTC (rev 115337)
@@ -145,6 +145,7 @@
 }
 
 #results {
+    /* FIXME: We really should use flexbox so we don't have to do this. But that requires restructuring the DOM a bit. */;
     height: -webkit-calc(100% - 39px);
     box-sizing: border-box;
 }
@@ -192,3 +193,9 @@
     border-bottom: 0;
     margin-bottom: 0;
 }
+
+.flakiness-iframe, .flakiness-iframe-placeholder {
+    border: none;
+    height: 0;
+    width: 100%;
+}

Modified: trunk/Tools/ChangeLog (115336 => 115337)


--- trunk/Tools/ChangeLog	2012-04-26 18:44:30 UTC (rev 115336)
+++ trunk/Tools/ChangeLog	2012-04-26 18:47:18 UTC (rev 115337)
@@ -1,3 +1,21 @@
+2012-04-24  Ojan Vafai  <[email protected]>
+
+        Show flakiness dashboard data in garden-o-matic
+        https://bugs.webkit.org/show_bug.cgi?id=83716
+
+        Reviewed by Dimitri Glazkov.
+
+        Put an iframe below the expected/actual results in the Results view.
+        Size the iframe to it's height.
+
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/results_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
+        * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
+
 2012-04-26  Sudarsana Nagineni  <[email protected]>
 
         [EFL] [DRT] LayoutTestController needs implementation of setJavaScriptProfilingEnabled
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to