Title: [226836] trunk/Websites/perf.webkit.org
Revision
226836
Author
rn...@webkit.org
Date
2018-01-11 18:13:53 -0800 (Thu, 11 Jan 2018)

Log Message

Cannot trigger Dromaeo tests on internal perf try bots
https://bugs.webkit.org/show_bug.cgi?id=179712

Reviewed by Chris Dumez.

The bug was caused by CustomAnalysisTaskConfigurator only showing the top-level tests that are triggerable
instead of the list of highest level tests that are triggerable.

* public/v3/components/custom-analysis-task-configurator.js:
(CustomAnalysisTaskConfigurator.prototype.selectTests): Update the test group name when a new test is picked.
(CustomAnalysisTaskConfigurator.prototype.selectPlatform):
(CustomAnalysisTaskConfigurator.prototype._didUpdateSelectedPlatforms): Extracted from selectPlatform.
(CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Include the list of all highest-level tests
which are triggerable.
(CustomAnalysisTaskConfigurator.prototype._renderRadioButtonList): Added labelForObject which returns the label
to be used in the list items. For tests, we want to use the full name, not just its label.
* public/v3/models/analysis-task.js:
(AnalysisTask.fetchById):
* public/v3/models/triggerable.js:
(Triggerable.prototype.acceptedTests): Added.
(Triggerable.prototype.acceptsTest): Deleted.

Modified Paths

Diff

Modified: trunk/Websites/perf.webkit.org/ChangeLog (226835 => 226836)


--- trunk/Websites/perf.webkit.org/ChangeLog	2018-01-12 01:53:58 UTC (rev 226835)
+++ trunk/Websites/perf.webkit.org/ChangeLog	2018-01-12 02:13:53 UTC (rev 226836)
@@ -1 +1,25 @@
+2018-01-11  Ryosuke Niwa  <rn...@webkit.org>
+
+        Cannot trigger Dromaeo tests on internal perf try bots
+        https://bugs.webkit.org/show_bug.cgi?id=179712
+
+        Reviewed by Chris Dumez.
+
+        The bug was caused by CustomAnalysisTaskConfigurator only showing the top-level tests that are triggerable
+        instead of the list of highest level tests that are triggerable.
+
+        * public/v3/components/custom-analysis-task-configurator.js:
+        (CustomAnalysisTaskConfigurator.prototype.selectTests): Update the test group name when a new test is picked.
+        (CustomAnalysisTaskConfigurator.prototype.selectPlatform):
+        (CustomAnalysisTaskConfigurator.prototype._didUpdateSelectedPlatforms): Extracted from selectPlatform.
+        (CustomAnalysisTaskConfigurator.prototype._renderTriggerableTests): Include the list of all highest-level tests
+        which are triggerable.
+        (CustomAnalysisTaskConfigurator.prototype._renderRadioButtonList): Added labelForObject which returns the label
+        to be used in the list items. For tests, we want to use the full name, not just its label.
+        * public/v3/models/analysis-task.js:
+        (AnalysisTask.fetchById):
+        * public/v3/models/triggerable.js:
+        (Triggerable.prototype.acceptedTests): Added.
+        (Triggerable.prototype.acceptsTest): Deleted.
+
 == Rolled over to ChangeLog-2018-01-01 ==

Modified: trunk/Websites/perf.webkit.org/public/v3/components/custom-analysis-task-configurator.js (226835 => 226836)


--- trunk/Websites/perf.webkit.org/public/v3/components/custom-analysis-task-configurator.js	2018-01-12 01:53:58 UTC (rev 226835)
+++ trunk/Websites/perf.webkit.org/public/v3/components/custom-analysis-task-configurator.js	2018-01-12 02:13:53 UTC (rev 226836)
@@ -40,7 +40,7 @@
         if (this._selectedTests.length && !this._triggerablePlatforms.includes(this._selectedPlatform))
             this._selectedPlatform = null;
 
-        this.enqueueToRender();
+        this._didUpdateSelectedPlatforms();
     }
 
     selectPlatform(selectedPlatform)
@@ -49,6 +49,12 @@
 
         const [triggerable, error] = this._updateTriggerableLazily.evaluate(this._selectedTests, this._selectedPlatform);
         this._updateRepositoryGroups(triggerable);
+
+        this._didUpdateSelectedPlatforms();
+    }
+
+    _didUpdateSelectedPlatforms()
+    {
         this._updateCommitSetMap();
 
         this.enqueueToRender();
@@ -190,8 +196,14 @@
     {
         const enabledTriggerables = Triggerable.all().filter((triggerable) => !triggerable.isDisabled());
 
-        let tests = Test.topLevelTests().filter((test) => test.metrics().length && enabledTriggerables.some((triggerable) => triggerable.acceptsTest(test)));
-        return this._renderRadioButtonList(this.content('test-list'), 'test', tests, this.selectTests.bind(this));
+        const acceptedTests = new Set;
+        for (const triggerable of enabledTriggerables) {
+            for (const test of triggerable.acceptedTests())
+                acceptedTests.add(test);
+        }
+
+        let tests = Test.all().filter((test) => acceptedTests.has(test) && (!test.parentTest() || !acceptedTests.has(test.parentTest())));
+        return this._renderRadioButtonList(this.content('test-list'), 'test', tests, this.selectTests.bind(this), (test) => test.fullName());
     }
 
     _renderTriggerablePlatforms(selectedTests, triggerablePlatforms)
@@ -207,7 +219,7 @@
         });
     }
 
-    _renderRadioButtonList(listContainer, name, objects, callback)
+    _renderRadioButtonList(listContainer, name, objects, callback, labelForObject = (object) => object.label())
     {
         const listItems = [];
         let selectedListItems = [];
@@ -230,7 +242,7 @@
                 callback(selectedListItems.map((item) => item.object));
                 this.enqueueToRender();
             }});
-            const label = element('label', [radioButton, object.label()]);
+            const label = element('label', [radioButton, labelForObject(object)]);
             listItems.push({radioButton, label, object});
             return element('li', label);
         }));

Modified: trunk/Websites/perf.webkit.org/public/v3/models/analysis-task.js (226835 => 226836)


--- trunk/Websites/perf.webkit.org/public/v3/models/analysis-task.js	2018-01-12 01:53:58 UTC (rev 226835)
+++ trunk/Websites/perf.webkit.org/public/v3/models/analysis-task.js	2018-01-12 02:13:53 UTC (rev 226836)
@@ -178,7 +178,7 @@
 
     static fetchById(id)
     {
-        return this._fetchSubset({id: id}).then(function (data) { return AnalysisTask.findById(id); });
+        return this._fetchSubset({id: id}, true).then(function (data) { return AnalysisTask.findById(id); });
     }
 
     static fetchByBuildRequestId(id)

Modified: trunk/Websites/perf.webkit.org/public/v3/models/triggerable.js (226835 => 226836)


--- trunk/Websites/perf.webkit.org/public/v3/models/triggerable.js	2018-01-12 01:53:58 UTC (rev 226835)
+++ trunk/Websites/perf.webkit.org/public/v3/models/triggerable.js	2018-01-12 02:13:53 UTC (rev 226836)
@@ -23,7 +23,7 @@
     isDisabled() { return this._isDisabled; }
     repositoryGroups() { return this._repositoryGroups; }
 
-    acceptsTest(test) { return this._acceptedTests.has(test); }
+    acceptedTests() { return this._acceptedTests; }
 
     static findByTestConfiguration(test, platform)
     {
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to