Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Tools / GardeningServer / model / ct-failure.html
1 <!--
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
4 found in the LICENSE file.
5 -->
6
7 <script>
8 function CTFailure(step, reason, resultsByBuilder, firstFailingRevisions, lastPassingRevisions) {
9   this.step = step;
10   // FIXME: Rename this to reason.
11   this.testName = reason;
12   this.resultNodesByBuilder = resultsByBuilder;
13   // FIXME: Move these up one layer to the groupedFailures object.
14   this.firstFailingRevisions = firstFailingRevisions;
15   this.lastPassingRevisions = lastPassingRevisions;
16 }
17
18 CTFailure.prototype.flakinessDashboardURL = function(tree) {
19   var testType = this.step;
20
21   // FIXME: Replace the flakiness dashboard's sense of groups with sheriff-o-matic's
22   // sense of trees and get rid of this mapping.
23   var treeToDashboardGroup = {
24     blink: '@ToT%20Blink',
25     chromium: '@ToT%20Chromium',
26   };
27
28   // FIXME: Remove this once the flakiness dashboard stops having webkit_tests
29   // masquerade as layout-tests.
30   if (testType == 'webkit_tests')
31       testType = 'layout-tests';
32
33   // FIXME: sugarjs's toQueryString makes spaces into pluses instead of %20, which confuses
34   // the flakiness dashboard, which just uses decodeURIComponent.
35   return 'http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=' +
36     treeToDashboardGroup[tree] + '&' +
37     Object.toQueryString({
38       tests: this.testName,
39       testType: testType,
40     });
41 }
42
43 CTFailure.prototype.embeddedFlakinessDashboardURL = function(tree) {
44   return this.flakinessDashboardURL(tree) + '&showChrome=false';
45 }
46
47 CTFailure.prototype.reasonGroupName = function() {
48   if (!this.testName)
49     return undefined;
50   if (this.step == 'webkit_tests')
51     return this.testName.substr(0, this.testName.lastIndexOf('/'));
52   return this.testName.substr(0, this.testName.lastIndexOf('.'));
53 };
54 </script>