Title: [221871] trunk/Websites/perf.webkit.org
- Revision
- 221871
- Author
- [email protected]
- Date
- 2017-09-11 12:26:00 -0700 (Mon, 11 Sep 2017)
Log Message
Analysis task page shows an empty results for an irrelevant top-level test
https://bugs.webkit.org/show_bug.cgi?id=175252
Reviewed by Antti Koivisto.
The bug was caused by TestGroupResultsViewer always listing every top-level test which has a result for the
entire analysis task. Since a custom analysis task (perf try bots) allows multiple tests to be tested in each
group, we have to only list the tests which contains results in a particular test group.
* public/v3/components/test-group-results-viewer.js:
(TestGroupResultsViewer.prototype.render): Find the tests that have results for the current test group instead
of for any test group in this analysis task.
any test
* public/v3/models/analysis-results.js:
(AnalysisResults):
(AnalysisResults.prototype.topLevelTestsForTestGroup): Renamed from highestTests. Now takes a test group
as an argument.
(AnalysisResults.prototype._computedTopLevelTests): Renamed from _computeHighestTests. Filters the results
with the specified test group.
Modified Paths
Diff
Modified: trunk/Websites/perf.webkit.org/ChangeLog (221870 => 221871)
--- trunk/Websites/perf.webkit.org/ChangeLog 2017-09-11 19:06:00 UTC (rev 221870)
+++ trunk/Websites/perf.webkit.org/ChangeLog 2017-09-11 19:26:00 UTC (rev 221871)
@@ -1,3 +1,25 @@
+2017-09-11 Ryosuke Niwa <[email protected]>
+
+ Analysis task page shows an empty results for an irrelevant top-level test
+ https://bugs.webkit.org/show_bug.cgi?id=175252
+
+ Reviewed by Antti Koivisto.
+
+ The bug was caused by TestGroupResultsViewer always listing every top-level test which has a result for the
+ entire analysis task. Since a custom analysis task (perf try bots) allows multiple tests to be tested in each
+ group, we have to only list the tests which contains results in a particular test group.
+
+ * public/v3/components/test-group-results-viewer.js:
+ (TestGroupResultsViewer.prototype.render): Find the tests that have results for the current test group instead
+ of for any test group in this analysis task.
+ any test
+ * public/v3/models/analysis-results.js:
+ (AnalysisResults):
+ (AnalysisResults.prototype.topLevelTestsForTestGroup): Renamed from highestTests. Now takes a test group
+ as an argument.
+ (AnalysisResults.prototype._computedTopLevelTests): Renamed from _computeHighestTests. Filters the results
+ with the specified test group.
+
2017-09-06 Aakash Jain <[email protected]>
Add initSyncers method in BuildbotTriggerable
Modified: trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js (221870 => 221871)
--- trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js 2017-09-11 19:06:00 UTC (rev 221870)
+++ trunk/Websites/perf.webkit.org/public/v3/components/test-group-results-viewer.js 2017-09-11 19:26:00 UTC (rev 221871)
@@ -38,8 +38,8 @@
if (!this._testGroup || !this._analysisResults)
return;
- this._renderResultsTableLazily.evaluate(this._testGroup, this._expandedTests, ...this._analysisResults.highestTests());
- this._renderCurrentMetricsLazily.evaluate(this._currentMetric);
+ this._renderResultsTableLazily.evaluate(this._testGroup, this._expandedTests,
+ ...this._analysisResults.topLevelTestsForTestGroup(this._testGroup));
}
_renderResultsTable(testGroup, expandedTests, ...tests)
Modified: trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js (221870 => 221871)
--- trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js 2017-09-11 19:06:00 UTC (rev 221870)
+++ trunk/Websites/perf.webkit.org/public/v3/models/analysis-results.js 2017-09-11 19:26:00 UTC (rev 221871)
@@ -4,7 +4,7 @@
{
this._metricToBuildMap = {};
this._metricIds = [];
- this._lazilyComputedHighestTests = new LazilyEvaluatedFunction(this._computeHighestTests);
+ this._lazilyComputedTopLevelTests = new LazilyEvaluatedFunction(this._computedTopLevelTests.bind(this));
}
findResult(buildId, metricId)
@@ -15,8 +15,27 @@
return map[buildId];
}
- highestTests() { return this._lazilyComputedHighestTests.evaluate(this._metricIds); }
+ topLevelTestsForTestGroup(testGroup)
+ {
+ return this._lazilyComputedTopLevelTests.evaluate(testGroup, ...this._metricIds);
+ }
+ _computedTopLevelTests(testGroup, ...metricIds)
+ {
+ const metrics = metricIds.map((metricId) => Metric.findById(metricId));
+ const tests = new Set(metrics.map((metric) => metric.test()));
+ const topLevelMetrics = metrics.filter((metric) => !tests.has(metric.test().parentTest()));
+
+ const topLevelTests = new Set;
+ for (const request of testGroup.buildRequests()) {
+ for (const metric of topLevelMetrics) {
+ if (this.findResult(request.buildId(), metric.id()))
+ topLevelTests.add(metric.test());
+ }
+ }
+ return topLevelTests;
+ }
+
containsTest(test)
{
console.assert(test instanceof Test);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes