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

Side by Side Diff: Tools/GardeningServer/ui/test/ct-results-detail-tests.html

Issue 459463003: Convert moar Sheriff-o-Matic tests to Polymer. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: forgot to add lib/network-simulator.html Created 6 years, 4 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
« no previous file with comments | « Tools/GardeningServer/ui/test/ct-results-comparison-tests.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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-results-detail.html"> 7 <link rel="import" href="../ct-results-detail.html">
8 8
9 <link rel="import" href="../model/ct-failure.html"> 9 <link rel="import" href="../../lib/network-simulator.html">
10 <link rel="import" href="../../model/ct-failure.html">
10 11
11 <script> 12 <script>
12 (function () { 13 (function () {
13 14
14 module("ct-results-detail"); 15 var assert = chai.assert;
15 16
16 asyncTest("image+text", 4, function() { 17 describe('ct-results-detail', function() {
17 var simulator = new NetworkSimulator(); 18 describe('webkit failures', function() {
18 var probedUrls = []; 19 var resultsDetail;
20 var probedUrls;
19 21
20 simulator.probe = function(url) 22 // Set to test different types.
21 { 23 var resultType = '';
22 probedUrls.push(url); 24 var extensions = [];
23 if (url.endsWith('.txt') || url.endsWith('.png')) 25
24 return Promise.resolve(); 26 beforeEach(function(done) {
25 else 27 var simulator = new NetworkSimulator(assert, done);
28 probedUrls = [];
29
30 simulator.probe = function(url) {
31 probedUrls.push(url);
32 for (var i = 0; i < extensions.length; i++) {
33 if (url.endsWith(extensions[i]))
34 return Promise.resolve();
35 }
26 return Promise.reject(); 36 return Promise.reject();
27 }; 37 };
28 38
29 simulator.runTest(function() { 39 // FIXME: Use a proper mock model object.
30 var comparisonResult = document.createElement('ct-results-detail'); 40 var failure = new CTFailure(
31 comparisonResult.builder = 'dummy builder'; 41 "testName", "dummy/test.html",
32 // FIXME: Use a proper mock model object. 42 {
33 comparisonResult.failure = new CTFailure( 43 "dummy builder": {
34 "testName", "dummy/test.html", 44 "actual": resultType,
35 { 45 },
36 "dummy builder": { 46 }, 177164, 177165
37 "actual": "IMAGE+TEXT", 47 );
38 },
39 }, 177164, 177165
40 );
41 48
42 comparisonResult.async(function() { 49 simulator.runTest(function() {
43 deepEqual(probedUrls, [ 50 resultsDetail = document.createElement('ct-results-detail');
51 resultsDetail.builder = 'dummy builder';
52 resultsDetail.failure = failure;
53 });
54
55 setTimeout(done);
56 });
57
58 describe('image+text', function() {
59 before(function() {
60 resultType = "IMAGE+TEXT";
61 extensions = ['.txt', '.png'];
62 });
63
64 it('should fetch the correct URLs', function() {
65 assert.deepEqual(probedUrls, [
44 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-expected.png', 66 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-expected.png',
45 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-actual.png', 67 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-actual.png',
46 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-diff.png', 68 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-diff.png',
47 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-actual.txt', 69 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-actual.txt',
48 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-expected.txt', 70 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-expected.txt',
49 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-diff.txt', 71 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-diff.txt',
50 ]); 72 ]);
51 73
52 var comparisons = comparisonResult.shadowRoot.querySelectorAll('ct-results -comparison'); 74 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-co mparison'), 2);
53 equal(comparisons.length, 2); 75 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-outpu t'), 0);
54 equal(comparisonResult.shadowRoot.querySelectorAll('ct-test-output').lengt h, 0); 76 });
77 });
55 78
56 start(); 79 describe('crash', function() {
80 before(function() {
81 resultType = "CRASH";
82 extensions = ['.txt'];
83 });
84
85 it('should fetch the correct URLs', function() {
86 assert.deepEqual(probedUrls, [
87 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-crash-log.txt',
88 ]);
89
90 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-test-outpu t'), 1);
91 assert.lengthOf(resultsDetail.shadowRoot.querySelectorAll('ct-results-co mparison'), 0);
92 });
93 });
94 });
95
96 describe('failures', function() {
97 var result;
98 var expectedUrl;
99
100 afterEach(function() {
101 var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
102 assert.lengthOf(outputs, 1);
103 assert.equal(outputs[0].url, expectedUrl);
104 assert.lengthOf(result.shadowRoot.querySelectorAll('ct-results-comparison' ), 0);
105 });
106
107 describe('unknown failures', function() {
108 it('should show the failure output', function(done) {
109 result = document.createElement('ct-results-detail');
110
111 result.builder = 'dummy builder';
112
113 var resultsByBuilder = {
114 "dummy builder": {
115 actual: "UNKNOWN",
116 lastFailingBuild: 124,
117 masterUrl: 'http://masterurl/'
118 },
119 };
120 result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder , 123, 124);
121 expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/ste ps/foo_step/logs/stdio';
122
123 setTimeout(done);
124 });
125 });
126
127 describe('failures', function() {
128 it('should show the failure output', function(done) {
129 result = document.createElement('ct-results-detail');
130
131 result.builder = 'dummy builder';
132
133 var resultsByBuilder = {
134 "dummy builder": {
135 actual: "FAIL",
136 lastFailingBuild: 124,
137 masterUrl: 'http://masterurl/'
138 },
139 };
140 result.failure = new CTFailure('foo_step', 'TestSuite.TestName', results ByBuilder, 123, 124);
141 expectedUrl = 'http://masterurl//builders/dummy%20builder/builds/124/ste ps/foo_step/logs/TestName';
142
143 setTimeout(done);
144 });
57 }); 145 });
58 }); 146 });
59 }); 147 });
60 148
61 asyncTest("crash", 4, function() {
62 var simulator = new NetworkSimulator();
63 var probedUrls = [];
64
65 simulator.probe = function(url)
66 {
67 probedUrls.push(url);
68 if (url.endsWith('.txt'))
69 return Promise.resolve();
70 else
71 return Promise.reject();
72 };
73
74 simulator.runTest(function() {
75 var crashResult = document.createElement('ct-results-detail');
76 crashResult.builder = 'dummy builder';
77 // FIXME: Use a proper mock model object.
78 crashResult.failure = {
79 "testName": "dummy/test.html",
80 "resultNodesByBuilder": {
81 "dummy builder": {
82 "actual": "CRASH",
83 },
84 },
85 "oldestFailingRevision": 177164,
86 "newestPassingRevision": 177165,
87 };
88
89 crashResult.async(function() {
90 deepEqual(probedUrls, [
91 'https://storage.googleapis.com/chromium-layout-test-archives/dummy_bu ilder/results/layout-test-results/dummy/test-crash-log.txt',
92 ]);
93
94 var crashOutputs = crashResult.shadowRoot.querySelectorAll('ct-test-output ');
95 equal(crashOutputs.length, 1);
96 equal(crashResult.shadowRoot.querySelectorAll('ct-results-comparison').len gth, 0);
97 start();
98 });
99 });
100 });
101
102 asyncTest("unknown", 3, function() {
103 var result = document.createElement('ct-results-detail');
104
105 result.builder = 'dummy builder';
106
107 var resultsByBuilder = {
108 "dummy builder": {
109 actual: "UNKNOWN",
110 lastFailingBuild: 124,
111 masterUrl: 'http://masterurl/'
112 },
113 };
114 result.failure = new CTFailure('foo_step', 'test.html', resultsByBuilder, 123, 124);
115
116 requestAnimationFrame(function() {
117 var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
118 equal(outputs.length, 1);
119 equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124 /steps/foo_step/logs/stdio');
120 equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0) ;
121 start();
122 });
123 });
124
125 asyncTest("unknown", 3, function() {
126 var result = document.createElement('ct-results-detail');
127
128 result.builder = 'dummy builder';
129
130 var resultsByBuilder = {
131 "dummy builder": {
132 actual: "FAIL",
133 lastFailingBuild: 124,
134 masterUrl: 'http://masterurl/'
135 },
136 };
137 result.failure = new CTFailure('foo_step', 'TestSuite.TestName', resultsByBuil der, 123, 124);
138
139 requestAnimationFrame(function() {
140 var outputs = result.shadowRoot.querySelectorAll('ct-test-output');
141 equal(outputs.length, 1);
142 equal(outputs[0].url, 'http://masterurl//builders/dummy%20builder/builds/124 /steps/foo_step/logs/TestName');
143 equal(result.shadowRoot.querySelectorAll('ct-results-comparison').length, 0) ;
144 start();
145 });
146 });
147
148 })() 149 })()
149 </script> 150 </script>
OLDNEW
« no previous file with comments | « Tools/GardeningServer/ui/test/ct-results-comparison-tests.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698