Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(219)

Side by Side Diff: Tools/GardeningServer/model/ct-builder-list.html

Issue 555263004: Add hung bots to sheriff-o-matic view (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Address nits. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 <!-- 1 <!--
2 Copyright 2014 The Chromium Authors. All rights reserved. 2 Copyright 2014 The Chromium Authors. All rights reserved.
3 Use of this source code is governed by a BSD-style license that can be 3 Use of this source code is governed by a BSD-style license that can be
4 found in the LICENSE file. 4 found in the LICENSE file.
5 --> 5 -->
6 6
7 <link rel='import' href='ct-builder.html'> 7 <link rel='import' href='ct-builder.html'>
8 8
9 <script> 9 <script>
10 // .builders[i] will have the CTBuilder objects 10 // .builders[i] will have the CTBuilder objects
11 function CTBuilderList(failures) { 11 function CTBuilderList(failures) {
12 this.builders = []; 12 this.builders = [];
13 13
14 if (!Array.isArray(failures))
15 failures = [failures];
16
14 var builderMap = {}; 17 var builderMap = {};
15 failures.forEach(function(failure) { 18 failures.forEach(function(failure) {
16 var results = failure.resultNodesByBuilder; 19 var results = failure.resultNodesByBuilder;
17 Object.keys(results, (function(builder, result) { 20 Object.keys(results, (function(builder, result) {
18 if (!builderMap[builder]) 21 if (!builderMap[builder])
19 builderMap[builder] = {}; 22 builderMap[builder] = {};
20 // This assumes that duplicate builder/master pairs all have the same 23 // This assumes that duplicate builder/master pairs all have the same
21 // earliestFailingBuild. 24 // earliestFailingBuild.
22 builderMap[builder][result.masterUrl] = { 25 builderMap[builder][result.masterUrl] = {
23 earliestFailingBuild: result.earliestFailingBuild, 26 earliestFailingBuild: result.earliestFailingBuild,
24 failingBuildCount: result.failingBuildCount, 27 failingBuildCount: result.failingBuildCount,
25 }; 28 };
26 }).bind(this)); 29 }).bind(this));
27 }, this); 30 }, this);
28 31
29 Object.keys(builderMap).sort().forEach(function(builder) { 32 Object.keys(builderMap).sort().forEach(function(builder) {
30 Object.keys(builderMap[builder]).sort().forEach(function(masterUrl) { 33 Object.keys(builderMap[builder]).sort().forEach(function(masterUrl) {
31 var result = builderMap[builder][masterUrl]; 34 var result = builderMap[builder][masterUrl];
32 this.builders.push(new CTBuilder(masterUrl, builder, 35 this.builders.push(new CTBuilder(masterUrl, builder,
33 result.earliestFailingBuild, result.failingBuildCount)); 36 result.earliestFailingBuild, result.failingBuildCount));
34 }, this); 37 }, this);
35 }, this); 38 }, this);
36 } 39 }
37 </script> 40 </script>
OLDNEW
« no previous file with comments | « Tools/GardeningServer/model/ct-builder-failure-group-data.html ('k') | Tools/GardeningServer/model/ct-builder-revisions.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698