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

Side by Side Diff: Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results_unittests.js

Issue 13712005: Move GardeningServer out of BuildSlaveSupport (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 8 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
(Empty)
1 /*
2 * Copyright (C) 2011 Google Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26 var unittest = unittest || {};
27
28 (function () {
29
30 module("results");
31
32 unittest.kExampleResultsJSON = {
33 "tests": {
34 "scrollbars": {
35 "custom-scrollbar-with-incomplete-style.html": {
36 "expected": "IMAGE",
37 "actual": "IMAGE"
38 },
39 "expected-wontfix": {
40 "expected": "IMAGE",
41 "actual": "IMAGE",
42 "wontfix": true
43 },
44 "unexpected-wontfix": {
45 "expected": "IMAGE",
46 "actual": "TEXT",
47 "wontfix": true
48 },
49 "flaky-scrollbar.html": {
50 "expected": "PASS",
51 "actual": "PASS TEXT"
52 },
53 "unexpected-failing-flaky-scrollbar.html": {
54 "expected": "TEXT",
55 "actual": "TIMEOUT TEXT"
56 },
57 "unexpected-pass.html": {
58 "expected": "FAIL",
59 "actual": "PASS"
60 }
61 },
62 "userscripts": {
63 "user-script-video-document.html": {
64 "expected": "FAIL",
65 "actual": "TEXT"
66 },
67 "another-test.html": {
68 "expected": "PASS",
69 "actual": "TEXT"
70 }
71 },
72 },
73 "skipped": 339,
74 "num_regressions": 14,
75 "interrupted": false,
76 "layout_tests_dir": "\/mnt\/data\/b\/build\/slave\/Webkit_Linux\/build\/src\ /third_party\/WebKit\/LayoutTests",
77 "version": 3,
78 "num_passes": 15566,
79 "has_pretty_patch": false,
80 "fixable": 1233,
81 "num_flaky":1,
82 "uses_expectations_file": true,
83 "has_wdiff": true,
84 "revision": "90430"
85 };
86
87 test("ResultAnalyzer", 55, function() {
88 var analyzer;
89
90 analyzer = new results.ResultAnalyzer({expected: 'PASS', actual: 'TEXT'});
91 ok(analyzer.expectedToSucceed());
92 ok(analyzer.hasUnexpectedFailures());
93 deepEqual(analyzer.unexpectedResults(), ['TEXT']);
94 ok(!analyzer.succeeded());
95 ok(!analyzer.flaky());
96
97 analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'TE XT'});
98 ok(analyzer.expectedToSucceed());
99 ok(analyzer.hasUnexpectedFailures());
100 deepEqual(analyzer.unexpectedResults(), ['TEXT']);
101 ok(!analyzer.succeeded());
102 ok(!analyzer.flaky());
103
104 analyzer = new results.ResultAnalyzer({expected: 'TEXT', actual: 'TEXT TIMEO UT'});
105 ok(!analyzer.expectedToSucceed());
106 ok(analyzer.hasUnexpectedFailures());
107 deepEqual(analyzer.unexpectedResults(), ['TIMEOUT']);
108 ok(!analyzer.succeeded());
109 ok(analyzer.flaky());
110
111 analyzer = new results.ResultAnalyzer({expected: 'PASS', actual: 'TEXT TIMEO UT'});
112 ok(analyzer.expectedToSucceed());
113 ok(analyzer.hasUnexpectedFailures());
114 deepEqual(analyzer.unexpectedResults(), ['TEXT', 'TIMEOUT']);
115 ok(!analyzer.succeeded());
116 ok(analyzer.flaky());
117
118 analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'PA SS TIMEOUT'});
119 ok(analyzer.expectedToSucceed());
120 ok(!analyzer.hasUnexpectedFailures());
121 deepEqual(analyzer.unexpectedResults(), []);
122 ok(analyzer.succeeded());
123 ok(analyzer.flaky());
124
125 analyzer = new results.ResultAnalyzer({expected: 'PASS TIMEOUT', actual: 'TI MEOUT PASS'});
126 ok(analyzer.expectedToSucceed());
127 ok(!analyzer.hasUnexpectedFailures());
128 deepEqual(analyzer.unexpectedResults(), []);
129 ok(analyzer.succeeded());
130 ok(analyzer.flaky());
131
132 analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'TIMEOUT'}) ;
133 ok(!analyzer.expectedToSucceed());
134 ok(analyzer.hasUnexpectedFailures());
135 deepEqual(analyzer.unexpectedResults(), ['TIMEOUT']);
136 ok(!analyzer.succeeded());
137 ok(!analyzer.flaky());
138
139 analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'IMAGE'});
140 ok(!analyzer.expectedToSucceed());
141 ok(analyzer.hasUnexpectedFailures());
142 deepEqual(analyzer.unexpectedResults(), ['IMAGE']);
143 ok(!analyzer.succeeded());
144 ok(!analyzer.flaky());
145
146 analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'AUDIO'});
147 ok(!analyzer.expectedToSucceed());
148 ok(!analyzer.hasUnexpectedFailures());
149 deepEqual(analyzer.unexpectedResults(), []);
150 ok(!analyzer.succeeded());
151 ok(!analyzer.flaky());
152
153 analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'TEXT'});
154 ok(!analyzer.expectedToSucceed());
155 ok(!analyzer.hasUnexpectedFailures());
156 deepEqual(analyzer.unexpectedResults(), []);
157 ok(!analyzer.succeeded());
158 ok(!analyzer.flaky());
159
160 analyzer = new results.ResultAnalyzer({expected: 'FAIL', actual: 'IMAGE+TEXT '});
161 ok(!analyzer.expectedToSucceed());
162 ok(!analyzer.hasUnexpectedFailures());
163 deepEqual(analyzer.unexpectedResults(), []);
164 ok(!analyzer.succeeded());
165 ok(!analyzer.flaky());
166 });
167
168 test("expectedFailures", 1, function() {
169 var expectedFailures = results.expectedFailures(unittest.kExampleResultsJSON );
170 deepEqual(expectedFailures, {
171 "scrollbars/custom-scrollbar-with-incomplete-style.html": {
172 "expected": "IMAGE",
173 "actual": "IMAGE"
174 },
175 "userscripts/user-script-video-document.html": {
176 "expected": "FAIL",
177 "actual": "TEXT"
178 }
179 });
180 });
181
182 test("unexpectedFailures", 1, function() {
183 var unexpectedFailures = results.unexpectedFailures(unittest.kExampleResults JSON);
184 deepEqual(unexpectedFailures, {
185 "userscripts/another-test.html": {
186 "expected": "PASS",
187 "actual": "TEXT"
188 }
189 });
190 });
191
192 test("unexpectedFailuresByTest", 1, function() {
193 var unexpectedFailuresByTest = results.unexpectedFailuresByTest({
194 "Mock Builder": unittest.kExampleResultsJSON
195 });
196 deepEqual(unexpectedFailuresByTest, {
197 "userscripts/another-test.html": {
198 "Mock Builder": {
199 "expected": "PASS",
200 "actual": "TEXT"
201 }
202 }
203 });
204 });
205
206 test("unexpectedSuccessesByTest", 1, function() {
207 var unexpectedFailuresByTest = results.unexpectedSuccessesByTest({
208 "Mock Builder": unittest.kExampleResultsJSON
209 });
210 deepEqual(unexpectedFailuresByTest, {
211 "scrollbars/unexpected-pass.html": {
212 "Mock Builder": {
213 "expected": "FAIL",
214 "actual": "PASS"
215 }
216 }
217 });
218 });
219
220 test("failureInfoForTestAndBuilder", 1, function() {
221 var unexpectedFailuresByTest = results.unexpectedFailuresByTest({
222 "Mock Builder": unittest.kExampleResultsJSON
223 });
224 var failureInfo = results.failureInfoForTestAndBuilder(unexpectedFailuresByT est, "userscripts/another-test.html", "Mock Builder");
225 deepEqual(failureInfo, {
226 "testName": "userscripts/another-test.html",
227 "builderName": "Mock Builder",
228 "failureTypeList": ["TEXT"],
229 });
230 });
231
232 test("resultKind", 12, function() {
233 equals(results.resultKind("http://example.com/foo-actual.txt"), "actual");
234 equals(results.resultKind("http://example.com/foo-expected.txt"), "expected" );
235 equals(results.resultKind("http://example.com/foo-diff.txt"), "diff");
236 equals(results.resultKind("http://example.com/foo.bar-actual.txt"), "actual" );
237 equals(results.resultKind("http://example.com/foo.bar-expected.txt"), "expec ted");
238 equals(results.resultKind("http://example.com/foo.bar-diff.txt"), "diff");
239 equals(results.resultKind("http://example.com/foo-actual.png"), "actual");
240 equals(results.resultKind("http://example.com/foo-expected.png"), "expected" );
241 equals(results.resultKind("http://example.com/foo-diff.png"), "diff");
242 equals(results.resultKind("http://example.com/foo-pretty-diff.html"), "diff" );
243 equals(results.resultKind("http://example.com/foo-wdiff.html"), "diff");
244 equals(results.resultKind("http://example.com/foo-xyz.html"), "unknown");
245 });
246
247 test("resultType", 12, function() {
248 equals(results.resultType("http://example.com/foo-actual.txt"), "text");
249 equals(results.resultType("http://example.com/foo-expected.txt"), "text");
250 equals(results.resultType("http://example.com/foo-diff.txt"), "text");
251 equals(results.resultType("http://example.com/foo.bar-actual.txt"), "text");
252 equals(results.resultType("http://example.com/foo.bar-expected.txt"), "text" );
253 equals(results.resultType("http://example.com/foo.bar-diff.txt"), "text");
254 equals(results.resultType("http://example.com/foo-actual.png"), "image");
255 equals(results.resultType("http://example.com/foo-expected.png"), "image");
256 equals(results.resultType("http://example.com/foo-diff.png"), "image");
257 equals(results.resultType("http://example.com/foo-pretty-diff.html"), "text" );
258 equals(results.resultType("http://example.com/foo-wdiff.html"), "text");
259 equals(results.resultType("http://example.com/foo.xyz"), "text");
260 });
261
262 test("resultNodeForTest", 4, function() {
263 deepEqual(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscrip ts/another-test.html"), {
264 "expected": "PASS",
265 "actual": "TEXT"
266 });
267 equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "foo.html"), null);
268 equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscripts/ foo.html"), null);
269 equals(results.resultNodeForTest(unittest.kExampleResultsJSON, "userscripts/ foo/bar.html"), null);
270 });
271
272 test("walkHistory", 6, function() {
273 var simulator = new NetworkSimulator();
274
275 var keyMap = {
276 "Mock_Builder": {
277 "11108": {
278 "tests": {
279 "userscripts": {
280 "another-test.html": {
281 "expected": "PASS",
282 "actual": "TEXT"
283 }
284 },
285 },
286 "revision": "90430"
287 },
288 "11107":{
289 "tests": {
290 "userscripts": {
291 "user-script-video-document.html": {
292 "expected": "FAIL",
293 "actual": "TEXT"
294 },
295 "another-test.html": {
296 "expected": "PASS",
297 "actual": "TEXT"
298 }
299 },
300 },
301 "revision": "90429"
302 },
303 "11106":{
304 "tests": {
305 "userscripts": {
306 "another-test.html": {
307 "expected": "PASS",
308 "actual": "TEXT"
309 }
310 },
311 },
312 "revision": "90426"
313 },
314 "11105":{
315 "tests": {
316 "userscripts": {
317 "user-script-video-document.html": {
318 "expected": "FAIL",
319 "actual": "TEXT"
320 },
321 },
322 },
323 "revision": "90424"
324 },
325 },
326 "Another_Builder": {
327 "22202":{
328 "tests": {
329 "userscripts": {
330 "another-test.html": {
331 "expected": "PASS",
332 "actual": "TEXT"
333 }
334 },
335 },
336 "revision": "90426"
337 },
338 "22201":{
339 "tests": {
340 },
341 "revision": "90425"
342 },
343 },
344 };
345
346 simulator.jsonp = function(url, callback) {
347 simulator.scheduleCallback(function() {
348 var result = keyMap[/[^/]+_Builder/.exec(url)][/\d+/.exec(url)];
349 callback(result ? result : {});
350 });
351 };
352
353 simulator.get = function(url, callback) {
354 simulator.scheduleCallback(function() {
355 if (/Mock_Builder/.test(url))
356 callback('<a href="11101/"></a><a href="11102/"></a><a href="111 03/"></a><a href="11104/"></a><a href="11105/"></a><a href="11106/"></a><a href= "11107/"></a><a href="11108/"></a>');
357 else if (/Another_Builder/.test(url))
358 callback('<a href="22201/"></a><a href="22202/"></a>');
359 else
360 ok(false, 'Unexpected URL: ' + url);
361 });
362 };
363
364 simulator.runTest(function() {
365 results.regressionRangeForFailure("Mock Builder", "userscripts/another-t est.html", function(oldestFailingRevision, newestPassingRevision) {
366 equals(oldestFailingRevision, 90426);
367 equals(newestPassingRevision, 90424);
368 });
369
370 results.unifyRegressionRanges(["Mock Builder", "Another Builder"], "user scripts/another-test.html", function(oldestFailingRevision, newestPassingRevisio n) {
371 equals(oldestFailingRevision, 90426);
372 equals(newestPassingRevision, 90425);
373 });
374
375 results.countFailureOccurences(["Mock Builder", "Another Builder"], "use rscripts/another-test.html", function(failureCount) {
376 equals(failureCount, 4);
377 });
378 });
379 });
380
381 test("walkHistory (no revision)", 3, function() {
382 var simulator = new NetworkSimulator();
383
384 var keyMap = {
385 "Mock_Builder": {
386 "11103": {
387 "tests": {
388 "userscripts": {
389 "another-test.html": {
390 "expected": "PASS",
391 "actual": "TEXT"
392 }
393 },
394 },
395 "revision": ""
396 },
397 "11102":{
398 "tests": {
399 },
400 "revision": ""
401 },
402 },
403 };
404
405 simulator.jsonp = function(url, callback) {
406 simulator.scheduleCallback(function() {
407 var result = keyMap[/[^/]+_Builder/.exec(url)][/\d+/.exec(url)];
408 callback(result ? result : {});
409 });
410 };
411
412 simulator.get = function(url, callback) {
413 simulator.scheduleCallback(function() {
414 callback('<a href="11101/"></a><a href="11102/"></a><a href="11103/" ></a>');
415 });
416 };
417
418
419 simulator.runTest(function() {
420 results.regressionRangeForFailure("Mock Builder", "userscripts/another-t est.html", function(oldestFailingRevision, newestPassingRevision) {
421 equals(oldestFailingRevision, 0);
422 equals(newestPassingRevision, 0);
423 });
424 });
425 });
426
427 test("collectUnexpectedResults", 1, function() {
428 var dictionaryOfResultNodes = {
429 "foo": {
430 "expected": "IMAGE",
431 "actual": "IMAGE"
432 },
433 "bar": {
434 "expected": "PASS",
435 "actual": "PASS TEXT"
436 },
437 "baz": {
438 "expected": "TEXT",
439 "actual": "IMAGE"
440 },
441 "qux": {
442 "expected": "PASS",
443 "actual": "TEXT"
444 },
445 "taco": {
446 "expected": "PASS",
447 "actual": "TEXT"
448 },
449 };
450
451 var collectedResults = results.collectUnexpectedResults(dictionaryOfResultNo des);
452 deepEqual(collectedResults, ["TEXT", "IMAGE"]);
453 });
454
455 test("failureTypeToExtensionList", 5, function() {
456 deepEqual(results.failureTypeToExtensionList('TEXT'), ['txt']);
457 deepEqual(results.failureTypeToExtensionList('IMAGE+TEXT'), ['txt', 'png']);
458 deepEqual(results.failureTypeToExtensionList('IMAGE'), ['png']);
459 deepEqual(results.failureTypeToExtensionList('CRASH'), []);
460 deepEqual(results.failureTypeToExtensionList('TIMEOUT'), []);
461 });
462
463 test("canRebaseline", 6, function() {
464 ok(results.canRebaseline(['TEXT']));
465 ok(results.canRebaseline(['IMAGE+TEXT', 'CRASH']));
466 ok(results.canRebaseline(['IMAGE']));
467 ok(!results.canRebaseline(['CRASH']));
468 ok(!results.canRebaseline(['TIMEOUT']));
469 ok(!results.canRebaseline([]));
470 });
471
472 test("fetchResultsURLs", 5, function() {
473 var simulator = new NetworkSimulator();
474
475 var probedURLs = [];
476 simulator.probe = function(url, options)
477 {
478 simulator.scheduleCallback(function() {
479 probedURLs.push(url);
480 if (base.endsWith(url, '.txt'))
481 options.success.call();
482 else if (/taco.+png$/.test(url))
483 options.success.call();
484 else
485 options.error.call();
486 });
487 };
488
489 simulator.runTest(function() {
490 results.fetchResultsURLs({
491 'builderName': "Mock Builder",
492 'testName': "userscripts/another-test.html",
493 'failureTypeList': ['IMAGE', 'CRASH'],
494 }, function(resultURLs) {
495 deepEqual(resultURLs, [
496 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/another-test-crash-log.txt"
497 ]);
498 });
499 results.fetchResultsURLs({
500 'builderName': "Mock Builder",
501 'testName': "userscripts/another-test.html",
502 'failureTypeList': ['TIMEOUT'],
503 }, function(resultURLs) {
504 deepEqual(resultURLs, []);
505 });
506 results.fetchResultsURLs({
507 'builderName': "Mock Builder",
508 'testName': "userscripts/taco.html",
509 'failureTypeList': ['IMAGE', 'IMAGE+TEXT'],
510 }, function(resultURLs) {
511 deepEqual(resultURLs, [
512 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-expected.png",
513 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-actual.png",
514 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-diff.png",
515 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-expected.txt",
516 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-actual.txt",
517 "http://build.chromium.org/f/chromium/layout_test_results/Mock_B uilder/results/layout-test-results/userscripts/taco-diff.txt",
518 ]);
519 });
520 });
521
522 deepEqual(probedURLs, [
523 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/another-test-expected.png",
524 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/another-test-actual.png",
525 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/another-test-diff.png",
526 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/another-test-crash-log.txt",
527 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-expected.png",
528 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-actual.png",
529 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-diff.png",
530 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-actual.txt",
531 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-expected.txt",
532 "http://build.chromium.org/f/chromium/layout_test_results/Mock_Builder/r esults/layout-test-results/userscripts/taco-diff.txt",
533 ]);
534 });
535
536 test("fetchResultsByBuilder", 5, function() {
537 var simulator = new NetworkSimulator();
538
539 var probedURLs = [];
540 simulator.jsonp = function(url, callback)
541 {
542 simulator.scheduleCallback(function() {
543 probedURLs.push(url);
544 if (base.endsWith(url, 'MockBuilder2/r1%20(1)/full_results.json'))
545 callback({'MockBuildResults': true});
546 else
547 callback({});
548 });
549 };
550
551 config.currentPlatform = 'gtk';
552
553 var oldCachedBuildInfos = builders.cachedBuildInfos;
554 builders.cachedBuildInfos = function(platform, builderName, callback) {
555 callback(
556 {
557 1: {
558 sourceStamp: {
559 revision: 1
560 }
561 },
562 2: {
563 sourceStamp: {
564 revision: 2
565 }
566 }
567
568 });
569 };
570
571 var oldRecentBuildInfos = builders.recentBuildInfos;
572 builders.recentBuildInfos = function(callback) {
573 callback({
574 'MockBuilder1': true,
575 'MockBuilder2': true
576 });
577 };
578
579 simulator.runTest(function() {
580 results.fetchResultsByBuilder(['MockBuilder1', 'MockBuilder2'], function (resultsByBuilder) {
581 deepEqual(resultsByBuilder, {
582 "MockBuilder2": {
583 "MockBuildResults": true,
584 "_buildLocation": {
585 "buildNumber": "1",
586 "revision": 1,
587 "url": "http://build.webkit.org/results/MockBuilder2/r1% 20(1)/full_results.json"
588 }
589 }
590 });
591 });
592 });
593
594 deepEqual(probedURLs, [
595 "http://build.webkit.org/results/MockBuilder1/r2%20(2)/full_results.json ",
596 "http://build.webkit.org/results/MockBuilder2/r2%20(2)/full_results.json ",
597 "http://build.webkit.org/results/MockBuilder1/r1%20(1)/full_results.json ",
598 "http://build.webkit.org/results/MockBuilder2/r1%20(1)/full_results.json "
599 ]);
600
601 builders.cachedBuildInfos = oldCachedBuildInfos;
602 equal(builders.cachedBuildInfos, oldCachedBuildInfos, "Failed to restore rea l base!");
603
604 builders.recentBuildInfos = oldRecentBuildInfos;
605 equal(builders.recentBuildInfos, oldRecentBuildInfos, "Failed to restore rea l base!");
606 });
607
608 })();
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698