Add a perf tab to garden-o-matic
[WebKit-https.git] / Tools / BuildSlaveSupport / build.webkit.org-config / public_html / TestFailures / scripts / builders_unittests.js
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 (function () {
27
28 module("builders");
29
30 var kExampleBuilderStatusJSON =  {
31     "Webkit Linux": {
32         "basedir": "Webkit_Linux",
33         "cachedBuilds": [11459, 11460, 11461, 11462],
34         "category": "6webkit linux latest",
35         "currentBuilds": [11462],
36         "pendingBuilds": 0,
37         "slaves": ["vm124-m1"],
38         "state": "building"
39     },
40     "Webkit Mac10.6": {
41         "basedir": "Webkit_Linux",
42         "cachedBuilds": [11459, 11460, 11461, 11462],
43         "category": "6webkit linux latest",
44         "currentBuilds": [11461, 11462],
45         "pendingBuilds": 0,
46         "slaves": ["vm124-m1"],
47         "state": "building"
48     },
49 };
50
51 var kExampleBuildInfoJSON = {
52     "blame": ["abarth@webkit.org"],
53     "builderName": "Webkit Linux",
54     "changes": ["Files:\n Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js\n Tools/ChangeLog\nAt: Thu 04 Aug 2011 00:50:38\nChanged By: abarth@webkit.org\nComments: Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:Properties: \n\n\n", "Files:\n LayoutTests/ChangeLog\n LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png\nAt: Thu 04 Aug 2011 00:50:38\nChanged By: abarth@webkit.org\nComments: Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:Properties: \n\n\n"],
55     "currentStep": null,
56     "eta": null,
57     "logs": [
58         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update_scripts/logs/stdio"],
59         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update/logs/stdio"],
60         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/compile/logs/stdio"],
61         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/test_shell_tests/logs/stdio"],
62         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_unit_tests/logs/stdio"],
63         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_tests/logs/stdio"],
64         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_results/logs/stdio"],
65         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_gpu_tests/logs/stdio"],
66         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_gpu_results/logs/stdio"]
67     ],
68     "number": 11461,
69     "properties": [
70         ["blamelist", ["abarth@webkit.org"], "Build"],
71         ["branch", "trunk", "Build"],
72         ["buildername", "Webkit Linux", "Build"],
73         ["buildnumber", 11461, "Build"],
74         ["got_revision", "95395", "Source"],
75         ["got_webkit_revision", "92358", "Source"],
76         ["gtest_filter", null, "Factory"],
77         ["mastername", "chromium.webkit", "master.cfg"],
78         ["revision", "92358", "Build"],
79         ["scheduler", "s6_webkit_rel", "Scheduler"],
80         ["slavename", "vm124-m1", "BuildSlave"]
81     ],
82     "reason": "",
83     "requests": [{
84         "builderName": "Webkit Linux",
85         "builds": [11461],
86         "source": {
87             "branch": "trunk",
88             "changes": [{
89                 "branch": "trunk",
90                 "category": null,
91                 "comments": "Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:",
92                 "files": ["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js", "Tools/ChangeLog"],
93                 "number": 43707,
94                 "properties": [],
95                 "repository": "",
96                 "revision": "92357",
97                 "revlink": "http://trac.webkit.org/changeset/92357",
98                 "when": 1312444238.855081,
99                 "who": "abarth@webkit.org"
100             }, {
101                 "branch": "trunk",
102                 "category": null,
103                 "comments": "Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:",
104                 "files": ["LayoutTests/ChangeLog", "LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png"],
105                 "number": 43708,
106                 "properties": [],
107                 "repository": "",
108                 "revision": "92358",
109                 "revlink": "http://trac.webkit.org/changeset/92358",
110                 "when": 1312444238.855538,
111                 "who": "abarth@webkit.org"
112             }],
113             "hasPatch": false,
114             "revision": "92358"
115         },
116         "submittedAt": 1312444298.989818
117     }],
118     "results": 2,
119     "slave": "vm124-m1",
120     "sourceStamp": {
121         "branch": "trunk",
122         "changes": [{
123             "branch": "trunk",
124             "category": null,
125             "comments": "Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:",
126             "files": ["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js", "Tools/ChangeLog"],
127             "number": 43707,
128             "properties": [],
129             "repository": "",
130             "revision": "92357",
131             "revlink": "http://trac.webkit.org/changeset/92357",
132             "when": 1312444238.855081,
133             "who": "abarth@webkit.org"
134         }, {
135             "branch": "trunk",
136             "category": null,
137             "comments": "Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:",
138             "files": ["LayoutTests/ChangeLog", "LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png"],
139             "number": 43708,
140             "properties": [],
141             "repository": "",
142             "revision": "92358",
143             "revlink": "http://trac.webkit.org/changeset/92358",
144             "when": 1312444238.855538,
145             "who": "abarth@webkit.org"
146         }],
147         "hasPatch": false,
148         "revision": "92358"
149     },
150     "steps": [{
151         "eta": null,
152         "expectations": [
153             ["output", 2297, 2300.6571014083784]
154         ],
155         "isFinished": true,
156         "isStarted": true,
157         "logs": [
158             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update_scripts/logs/stdio"]
159         ],
160         "name": "update_scripts",
161         "results": [0, []],
162         "statistics": {},
163         "step_number": 0,
164         "text": ["update_scripts"],
165         "times": [1312444299.102834, 1312444309.270324],
166         "urls": {}
167     }, {
168         "eta": null,
169         "expectations": [
170             ["output", 20453, 17580.5002389645]
171         ],
172         "isFinished": true,
173         "isStarted": true,
174         "logs": [
175             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update/logs/stdio"]
176         ],
177         "name": "update",
178         "results": [0, []],
179         "statistics": {},
180         "step_number": 1,
181         "text": ["update", "r95395", "webkit r92358"],
182         "times": [1312444309.270763, 1312444398.468139],
183         "urls": {}
184     }, {
185         "eta": null,
186         "expectations": [
187             ["output", 17316, 2652.4850499589456]
188         ],
189         "isFinished": true,
190         "isStarted": true,
191         "logs": [
192             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/compile/logs/stdio"]
193         ],
194         "name": "compile",
195         "results": [0, []],
196         "statistics": {},
197         "step_number": 2,
198         "text": ["compile"],
199         "times": [1312444398.46855, 1312444441.68838],
200         "urls": {}
201     }, {
202         "eta": null,
203         "expectations": [
204             ["output", 91980, 92002.12628325251]
205         ],
206         "isFinished": true,
207         "isStarted": true,
208         "logs": [
209             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/test_shell_tests/logs/stdio"]
210         ],
211         "name": "test_shell_tests",
212         "results": [0, []],
213         "statistics": {},
214         "step_number": 3,
215         "text": ["test_shell_tests", "1 disabled", "2 flaky"],
216         "times": [1312444441.688756, 1312444451.74908],
217         "urls": {}
218     }, {
219         "eta": null,
220         "expectations": [
221             ["output", 20772, 20772.638503443086]
222         ],
223         "isFinished": true,
224         "isStarted": true,
225         "logs": [
226             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_unit_tests/logs/stdio"]
227         ],
228         "name": "webkit_unit_tests",
229         "results": [0, []],
230         "statistics": {},
231         "step_number": 4,
232         "text": ["webkit_unit_tests", "1 disabled"],
233         "times": [1312444451.749574, 1312444452.306143],
234         "urls": {}
235     }, {
236         "eta": null,
237         "expectations": [
238             ["output", 2477406, 2498915.6146275494]
239         ],
240         "isFinished": true,
241         "isStarted": true,
242         "logs": [
243             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_tests/logs/stdio"]
244         ],
245         "name": "webkit_tests",
246         "results": [2, ["webkit_tests"]],
247         "statistics": {},
248         "step_number": 5,
249         "text": ["webkit_tests", "2014 fixable", "(370 skipped)", "failed 1", "<div class=\"BuildResultInfo\">", "<a href=\"http://test-results.appspot.com/dashboards/flakiness_dashboard.html#master=ChromiumWebkit&tests=fast/box-shadow/box-shadow-clipped-slices.html\">", "<abbr title=\"fast/box-shadow/box-shadow-clipped-slices.html\">box-shadow-clipped-slices.html</abbr>", "</a>", "</div>"],
250         "times": [1312444452.306695, 1312444768.888266],
251         "urls": {}
252     }, {
253         "eta": null,
254         "expectations": [
255             ["output", 2668845, 2672746.372363254]
256         ],
257         "isFinished": true,
258         "isStarted": true,
259         "logs": [
260             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_results/logs/stdio"]
261         ],
262         "name": "archive_webkit_tests_results",
263         "results": [0, []],
264         "statistics": {},
265         "step_number": 6,
266         "text": ["archived webkit_tests results"],
267         "times": [1312444768.888746, 1312444781.444399],
268         "urls": {
269             "layout test results": "http://build.chromium.org/buildbot/layout_test_results/Webkit_Linux\r/95395\rNone"
270         }
271     }, {
272         "eta": null,
273         "expectations": [
274             ["output", 210958, 208138.4965182993]
275         ],
276         "isFinished": true,
277         "isStarted": true,
278         "logs": [
279             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_gpu_tests/logs/stdio"]
280         ],
281         "name": "webkit_gpu_tests",
282         "results": [2, ["webkit_gpu_tests"]],
283         "statistics": {},
284         "step_number": 7,
285         "text": ["webkit_gpu_tests", "148 fixable", "(24 skipped)", "failed 1", "<div class=\"BuildResultInfo\">", "<a href=\"http://test-results.appspot.com/dashboards/flakiness_dashboard.html#master=ChromiumWebkit&tests=compositing/scaling/tiled-layer-recursion.html\">", "<abbr title=\"compositing/scaling/tiled-layer-recursion.html\">tiled-layer-recursion.html</abbr>", "</a>", "</div>"],
286         "times": [1312444781.444903, 1312444966.856074],
287         "urls": {}
288     }, {
289         "eta": null,
290         "expectations": [
291             ["output", 148825, 147822.1074277072]
292         ],
293         "isFinished": true,
294         "isStarted": true,
295         "logs": [
296             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_gpu_results/logs/stdio"]
297         ],
298         "name": "archive_webkit_tests_gpu_results",
299         "results": [0, []],
300         "statistics": {},
301         "step_number": 8,
302         "text": ["archived webkit_tests gpu results"],
303         "times": [1312444966.856575, 1312444970.458655],
304         "urls": {
305             "layout test gpu results": "http://build.chromium.org/buildbot/layout_test_results/Webkit_Linux_-_GPU\r/95395\rNone"
306         }
307     }],
308     "text": ["failed", "webkit_tests", "webkit_gpu_tests"],
309     "times": [1312444299.10216, 1312444970.459138]
310 };
311
312 var kExampleBuildInfoWithWebKitTestCrashJSON = {
313     "blame": ["asvitkine@chromium.org", "derat@chromium.org", "nirnimesh@chromium.org"],
314     "builderName": "Webkit Win (deps)(dbg)(2)",
315     "currentStep": null,
316     "eta": null,
317     "logs": [
318         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/svnkill/logs/stdio"],
319         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/update_scripts/logs/stdio"],
320         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/taskkill/logs/stdio"],
321         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/update/logs/stdio"],
322         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/extract_build/logs/stdio"],
323         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/webkit_tests/logs/stdio"],
324         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/archive_webkit_tests_results/logs/stdio"],
325         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/webkit_gpu_tests/logs/stdio"],
326         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/archive_webkit_tests_gpu_results/logs/stdio"]
327     ],
328     "number": 7653,
329     "properties": [
330         ["blamelist", ["asvitkine@chromium.org", "derat@chromium.org", "nirnimesh@chromium.org"], "Build"],
331         ["branch", "src", "Build"],
332         ["buildername", "Webkit Win (deps)(dbg)(2)", "Builder"],
333         ["buildnumber", 7653, "Build"],
334         ["got_revision", "104939", "Source"],
335         ["gtest_filter", null, "Factory"],
336         ["mastername", "chromium.webkit", "master.cfg"],
337         ["project", "", "Build"],
338         ["repository", "svn://svn-mirror.golo.chromium.org/chrome/trunk", "Build"],
339         ["revision", "104939", "Build"],
340         ["scheduler", "s1_chromium_dbg_dep", "Scheduler"],
341         ["slavename", "vm114-m1", "BuildSlave"]
342     ],
343     "reason": "downstream",
344     "results": 2,
345     "slave": "vm114-m1",
346     "sourceStamp": {
347         "branch": "src",
348         "changes": [{
349             "at": "Tue 11 Oct 2011 12:18:40",
350             "branch": "src",
351             "category": null,
352             "comments": "Disable prefs.PrefsTest.testGeolocationPref on win\n\nTBR=dennisjeffrey@chromium.org\nBUG=99865\nTEST=\n\nReview URL: http://codereview.chromium.org/8234007",
353             "files": [{
354                 "name": "chrome/test/functional/PYAUTO_TESTS",
355                 "url": null
356             }],
357             "number": 1397,
358             "project": "",
359             "properties": [],
360             "repository": "svn://svn-mirror.golo.chromium.org/chrome/trunk",
361             "rev": "104936",
362             "revision": "104936",
363             "revlink": "http://src.chromium.org/viewvc/chrome?view=rev&revision=104936",
364             "when": 1318360720,
365             "who": "nirnimesh@chromium.org"
366         }, {
367             "at": "Tue 11 Oct 2011 12:23:11",
368             "branch": "src",
369             "category": null,
370             "comments": "aura: Get rid of some unneeded stubs.\n\nMost of these are for dialogs that already had WebUI\nimplementations.\n\nBUG=99718\nTEST=built with use_aura=1\n\nReview URL: http://codereview.chromium.org/8218027",
371             "files": [{
372                 "name": "chrome/browser/ui/login/login_prompt_ui.cc",
373                 "url": null
374             }, {
375                 "name": "chrome/browser/ui/views/stubs_aura.cc",
376                 "url": null
377             }, {
378                 "name": "chrome/chrome_browser.gypi",
379                 "url": null
380             }, {
381                 "name": "chrome/common/url_constants.cc",
382                 "url": null
383             }, {
384                 "name": "chrome/common/url_constants.h",
385                 "url": null
386             }],
387             "number": 1398,
388             "project": "",
389             "properties": [],
390             "repository": "svn://svn-mirror.golo.chromium.org/chrome/trunk",
391             "rev": "104937",
392             "revision": "104937",
393             "revlink": "http://src.chromium.org/viewvc/chrome?view=rev&revision=104937",
394             "when": 1318360991,
395             "who": "derat@chromium.org"
396         }, {
397             "at": "Tue 11 Oct 2011 12:34:10",
398             "branch": "src",
399             "category": null,
400             "comments": "Add Windows manifest for views_examples.\n\nThis allows views_examples to use themed controls and fixes\na problem with combo box drop down menus not being shown.\n\nManifest file copied from chrome/app/chrome.exe.manifest.\n\nBUG=none\nTEST=manual\n\nReview URL: http://codereview.chromium.org/8227017",
401             "files": [{
402                 "name": "views/examples/views_examples.exe.manifest",
403                 "url": null
404             }, {
405                 "name": "views/views.gyp",
406                 "url": null
407             }],
408             "number": 1400,
409             "project": "",
410             "properties": [],
411             "repository": "svn://svn-mirror.golo.chromium.org/chrome/trunk",
412             "rev": "104939",
413             "revision": "104939",
414             "revlink": "http://src.chromium.org/viewvc/chrome?view=rev&revision=104939",
415             "when": 1318361650,
416             "who": "asvitkine@chromium.org"
417         }],
418         "hasPatch": false,
419         "project": "",
420         "repository": "svn://svn-mirror.golo.chromium.org/chrome/trunk",
421         "revision": "104939"
422     },
423     "steps": [{
424         "eta": null,
425         "expectations": [
426             ["output", 1444, 1444.0]
427         ],
428         "isFinished": true,
429         "isStarted": true,
430         "logs": [
431             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/svnkill/logs/stdio"]
432         ],
433         "name": "svnkill",
434         "results": [0, []],
435         "statistics": {},
436         "step_number": 0,
437         "text": ["svnkill"],
438         "times": [1318364210.0697701, 1318364210.463649],
439         "urls": {}
440     }, {
441         "eta": null,
442         "expectations": [
443             ["output", 2916, 2757.1580967830819]
444         ],
445         "isFinished": true,
446         "isStarted": true,
447         "logs": [
448             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/update_scripts/logs/stdio"]
449         ],
450         "name": "update_scripts",
451         "results": [0, []],
452         "statistics": {},
453         "step_number": 1,
454         "text": ["update_scripts"],
455         "times": [1318364210.464299, 1318364234.741575],
456         "urls": {}
457     }, {
458         "eta": null,
459         "expectations": [
460             ["output", 4544, 4543.9687499691299]
461         ],
462         "isFinished": true,
463         "isStarted": true,
464         "logs": [
465             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/taskkill/logs/stdio"]
466         ],
467         "name": "taskkill",
468         "results": [0, []],
469         "statistics": {},
470         "step_number": 2,
471         "text": ["taskkill"],
472         "times": [1318364234.742265, 1318364245.842006],
473         "urls": {}
474     }, {
475         "eta": null,
476         "expectations": [
477             ["output", 1019773, 22826.104572568838]
478         ],
479         "isFinished": true,
480         "isStarted": true,
481         "logs": [
482             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/update/logs/stdio"]
483         ],
484         "name": "update",
485         "results": [0, []],
486         "statistics": {},
487         "step_number": 3,
488         "text": ["update", "r104939"],
489         "times": [1318364245.843008, 1318366370.946759],
490         "urls": {}
491     }, {
492         "eta": null,
493         "expectations": [
494             ["output", 19829, 19620.437500003842]
495         ],
496         "isFinished": true,
497         "isStarted": true,
498         "logs": [
499             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/extract_build/logs/stdio"]
500         ],
501         "name": "extract_build",
502         "results": [1, []],
503         "statistics": {},
504         "step_number": 4,
505         "text": ["extract_build", "warning"],
506         "times": [1318366370.94771, 1318366404.552783],
507         "urls": {}
508     }, {
509         "eta": null,
510         "expectations": [
511             ["output", 2685, 1320624.4817683753]
512         ],
513         "isFinished": true,
514         "isStarted": true,
515         "logs": [
516             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/webkit_tests/logs/stdio"]
517         ],
518         "name": "webkit_tests",
519         "results": [2, ["webkit_tests"]],
520         "statistics": {},
521         "step_number": 5,
522         "text": ["webkit_tests", "?? fixable", "(0 skipped)", "crashed or hung"],
523         "times": [1318366404.5537021, 1318366405.2564809],
524         "urls": {}
525     }, {
526         "eta": null,
527         "expectations": [
528             ["output", 3736, 606747.58321854263]
529         ],
530         "isFinished": true,
531         "isStarted": true,
532         "logs": [
533             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/archive_webkit_tests_results/logs/stdio"]
534         ],
535         "name": "archive_webkit_tests_results",
536         "results": [2, ["archive_webkit_tests_results"]],
537         "statistics": {},
538         "step_number": 6,
539         "text": ["archived webkit_tests results", "failed"],
540         "times": [1318366405.2573731, 1318366406.505815],
541         "urls": {
542             "layout test results": "http://build.chromium.org/buildbot/layout_test_results/Webkit_Win__deps__dbg__2_\r/0\rNone"
543         }
544     }, {
545         "eta": null,
546         "expectations": [
547             ["output", 2751, 124434.9266140602]
548         ],
549         "isFinished": true,
550         "isStarted": true,
551         "logs": [
552             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/webkit_gpu_tests/logs/stdio"]
553         ],
554         "name": "webkit_gpu_tests",
555         "results": [2, ["webkit_gpu_tests"]],
556         "statistics": {},
557         "step_number": 7,
558         "text": ["webkit_gpu_tests", "?? fixable", "(0 skipped)", "crashed or hung"],
559         "times": [1318366406.506711, 1318366407.179585],
560         "urls": {}
561     }, {
562         "eta": null,
563         "expectations": [
564             ["output", 3760, 35709.407800958375]
565         ],
566         "isFinished": true,
567         "isStarted": true,
568         "logs": [
569             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Win%20%28deps%29%28dbg%29%282%29/builds/7653/steps/archive_webkit_tests_gpu_results/logs/stdio"]
570         ],
571         "name": "archive_webkit_tests_gpu_results",
572         "results": [2, ["archive_webkit_tests_gpu_results"]],
573         "statistics": {},
574         "step_number": 8,
575         "text": ["archived webkit_tests gpu results", "failed"],
576         "times": [1318366407.1804891, 1318366408.071501],
577         "urls": {
578             "layout test gpu results": "http://build.chromium.org/buildbot/layout_test_results/Webkit_Win__deps__dbg__2__-_GPU\r/0\rNone"
579         }
580     }],
581     "text": ["failed", "webkit_tests", "archive_webkit_tests_results", "webkit_gpu_tests", "archive_webkit_tests_gpu_results"],
582     "times": [1318364210.066524, 1318366408.0732119]
583 };
584
585 var kExamplePerfBuilderStatusJSON =  {
586     "Webkit Linux": {
587         "basedir": "Webkit_Linux",
588         "cachedBuilds": [11459, 11460, 11461, 11462],
589         "category": "6webkit linux latest",
590         "currentBuilds": [11462],
591         "pendingBuilds": 0,
592         "slaves": ["vm124-m1"],
593         "state": "building"
594     },
595     "Mac10.6 Perf": {
596         "basedir": "Mac10_6_Perf",
597         "cachedBuilds": [11459, 11460, 11461, 11462],
598         "category": "6webkit linux latest",
599         "currentBuilds": [11461, 11462],
600         "pendingBuilds": 0,
601         "slaves": ["vm124-m1"],
602         "state": "building"
603     },
604 };
605
606 var kExamplePerfBuildInfoJSON = {
607     "blame": ["abarth@webkit.org"],
608     "builderName": "Mac10.6 Perf",
609     "changes": ["Files:\n Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js\n Tools/ChangeLog\nAt: Thu 04 Aug 2011 00:50:38\nChanged By: abarth@webkit.org\nComments: Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:Properties: \n\n\n", "Files:\n LayoutTests/ChangeLog\n LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png\n LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png\nAt: Thu 04 Aug 2011 00:50:38\nChanged By: abarth@webkit.org\nComments: Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:Properties: \n\n\n"],
610     "currentStep": null,
611     "eta": null,
612     "logs": [
613         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update_scripts/logs/stdio"],
614         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update/logs/stdio"],
615         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/compile/logs/stdio"],
616         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/test_shell_tests/logs/stdio"],
617         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_unit_tests/logs/stdio"],
618         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_tests/logs/stdio"],
619         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_results/logs/stdio"],
620         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_gpu_tests/logs/stdio"],
621         ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_gpu_results/logs/stdio"]
622     ],
623     "number": 11461,
624     "properties": [
625         ["blamelist", ["abarth@webkit.org"], "Build"],
626         ["branch", "trunk", "Build"],
627         ["buildername", "Webkit Linux", "Build"],
628         ["buildnumber", 11461, "Build"],
629         ["got_revision", "95395", "Source"],
630         ["got_webkit_revision", "92358", "Source"],
631         ["gtest_filter", null, "Factory"],
632         ["mastername", "chromium.webkit", "master.cfg"],
633         ["revision", "92358", "Build"],
634         ["scheduler", "s6_webkit_rel", "Scheduler"],
635         ["slavename", "vm124-m1", "BuildSlave"]
636     ],
637     "reason": "",
638     "requests": [{
639         "builderName": "Webkit Linux",
640         "builds": [11461],
641         "source": {
642             "branch": "trunk",
643             "changes": [{
644                 "branch": "trunk",
645                 "category": null,
646                 "comments": "Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:",
647                 "files": ["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js", "Tools/ChangeLog"],
648                 "number": 43707,
649                 "properties": [],
650                 "repository": "",
651                 "revision": "92357",
652                 "revlink": "http://trac.webkit.org/changeset/92357",
653                 "when": 1312444238.855081,
654                 "who": "abarth@webkit.org"
655             }, {
656                 "branch": "trunk",
657                 "category": null,
658                 "comments": "Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:",
659                 "files": ["LayoutTests/ChangeLog", "LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png"],
660                 "number": 43708,
661                 "properties": [],
662                 "repository": "",
663                 "revision": "92358",
664                 "revlink": "http://trac.webkit.org/changeset/92358",
665                 "when": 1312444238.855538,
666                 "who": "abarth@webkit.org"
667             }],
668             "hasPatch": false,
669             "revision": "92358"
670         },
671         "submittedAt": 1312444298.989818
672     }],
673     "results": 2,
674     "slave": "vm124-m1",
675     "sourceStamp": {
676         "branch": "trunk",
677         "changes": [{
678             "branch": "trunk",
679             "category": null,
680             "comments": "Fix types.  Sadly, main.js has no test coverage.  (I need to think\nabout how to test this part of the code.)\n\n* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:",
681             "files": ["Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js", "Tools/ChangeLog"],
682             "number": 43707,
683             "properties": [],
684             "repository": "",
685             "revision": "92357",
686             "revlink": "http://trac.webkit.org/changeset/92357",
687             "when": 1312444238.855081,
688             "who": "abarth@webkit.org"
689         }, {
690             "branch": "trunk",
691             "category": null,
692             "comments": "Update baselines after <http://trac.webkit.org/changeset/92340>.\n\n* platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png:\n* platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:",
693             "files": ["LayoutTests/ChangeLog", "LayoutTests/platform/chromium-mac/fast/box-shadow/inset-box-shadows-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png", "LayoutTests/platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png"],
694             "number": 43708,
695             "properties": [],
696             "repository": "",
697             "revision": "92358",
698             "revlink": "http://trac.webkit.org/changeset/92358",
699             "when": 1312444238.855538,
700             "who": "abarth@webkit.org"
701         }],
702         "hasPatch": false,
703         "revision": "92358"
704     },
705     "steps": [{
706         "eta": null,
707         "expectations": [
708             ["output", 2297, 2300.6571014083784]
709         ],
710         "isFinished": true,
711         "isStarted": true,
712         "logs": [
713             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update_scripts/logs/stdio"]
714         ],
715         "name": "update_scripts",
716         "results": [0, []],
717         "statistics": {},
718         "step_number": 0,
719         "text": ["update_scripts"],
720         "times": [1312444299.102834, 1312444309.270324],
721         "urls": {}
722     }, {
723         "eta": null,
724         "expectations": [
725             ["output", 20453, 17580.5002389645]
726         ],
727         "isFinished": true,
728         "isStarted": true,
729         "logs": [
730             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/update/logs/stdio"]
731         ],
732         "name": "update",
733         "results": [0, []],
734         "statistics": {},
735         "step_number": 1,
736         "text": ["update", "r95395", "webkit r92358"],
737         "times": [1312444309.270763, 1312444398.468139],
738         "urls": {}
739     }, {
740         "eta": null,
741         "expectations": [
742             ["output", 17316, 2652.4850499589456]
743         ],
744         "isFinished": true,
745         "isStarted": true,
746         "logs": [
747             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/compile/logs/stdio"]
748         ],
749         "name": "compile",
750         "results": [0, []],
751         "statistics": {},
752         "step_number": 2,
753         "text": ["compile"],
754         "times": [1312444398.46855, 1312444441.68838],
755         "urls": {}
756     }, {
757         "eta": null,
758         "expectations": [
759             ["output", 91980, 92002.12628325251]
760         ],
761         "isFinished": true,
762         "isStarted": true,
763         "logs": [
764             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/test_shell_tests/logs/stdio"]
765         ],
766         "name": "test_shell_tests",
767         "results": [0, []],
768         "statistics": {},
769         "step_number": 3,
770         "text": ["test_shell_tests", "1 disabled", "2 flaky"],
771         "times": [1312444441.688756, 1312444451.74908],
772         "urls": {}
773     }, {
774         "eta": null,
775         "expectations": [
776             ["output", 20772, 20772.638503443086]
777         ],
778         "isFinished": true,
779         "isStarted": true,
780         "logs": [
781             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_unit_tests/logs/stdio"]
782         ],
783         "name": "webkit_unit_tests",
784         "results": [0, []],
785         "statistics": {},
786         "step_number": 4,
787         "text": ["webkit_unit_tests", "1 disabled"],
788         "times": [1312444451.749574, 1312444452.306143],
789         "urls": {}
790     }, {
791         "eta": null,
792         "expectations": [
793             ["output", 2477406, 2498915.6146275494]
794         ],
795         "isFinished": true,
796         "isStarted": true,
797         "logs": [
798             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_tests/logs/stdio"]
799         ],
800         "name": "webkit_tests",
801         "results": [2, ["webkit_tests"]],
802         "statistics": {},
803         "step_number": 5,
804         "text": ["webkit_tests", "2014 fixable", "(370 skipped)", "failed 1", "<div class=\"BuildResultInfo\">", "<a href=\"http://test-results.appspot.com/dashboards/flakiness_dashboard.html#master=ChromiumWebkit&tests=fast/box-shadow/box-shadow-clipped-slices.html\">", "<abbr title=\"fast/box-shadow/box-shadow-clipped-slices.html\">box-shadow-clipped-slices.html</abbr>", "</a>", "</div>"],
805         "times": [1312444452.306695, 1312444768.888266],
806         "urls": {}
807     }, {
808         "eta": null,
809         "expectations": [
810             ["output", 2668845, 2672746.372363254]
811         ],
812         "isFinished": true,
813         "isStarted": true,
814         "logs": [
815             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_results/logs/stdio"]
816         ],
817         "name": "dummy_perf_test_1",
818         "results": [0, []],
819         "statistics": {},
820         "step_number": 6,
821         "text": ["archived webkit_tests results"],
822         "times": [1312444768.888746, 1312444781.444399],
823         "urls": {
824             "results": "http://dummyurl1"
825         }
826     }, {
827         "eta": null,
828         "expectations": [
829             ["output", 210958, 208138.4965182993]
830         ],
831         "isFinished": true,
832         "isStarted": true,
833         "logs": [
834             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/webkit_gpu_tests/logs/stdio"]
835         ],
836         "name": "webkit_gpu_tests",
837         "results": [2, ["webkit_gpu_tests"]],
838         "statistics": {},
839         "step_number": 7,
840         "text": ["webkit_gpu_tests", "148 fixable", "(24 skipped)", "failed 1", "<div class=\"BuildResultInfo\">", "<a href=\"http://test-results.appspot.com/dashboards/flakiness_dashboard.html#master=ChromiumWebkit&tests=compositing/scaling/tiled-layer-recursion.html\">", "<abbr title=\"compositing/scaling/tiled-layer-recursion.html\">tiled-layer-recursion.html</abbr>", "</a>", "</div>"],
841         "times": [1312444781.444903, 1312444966.856074],
842         "urls": {}
843     }, {
844         "eta": null,
845         "expectations": [
846             ["output", 148825, 147822.1074277072]
847         ],
848         "isFinished": true,
849         "isStarted": true,
850         "logs": [
851             ["stdio", "http://build.chromium.org/p/chromium.webkitbuilders/Webkit%20Linux/builds/11461/steps/archive_webkit_tests_gpu_results/logs/stdio"]
852         ],
853         "name": "dummy_perf_test_2",
854         "results": [0, []],
855         "statistics": {},
856         "step_number": 8,
857         "text": ["archived webkit_tests gpu results"],
858         "times": [1312444966.856575, 1312444970.458655],
859         "urls": {
860             "results": "http://dummyurl2"
861         }
862     }],
863     "text": ["failed", "webkit_tests", "webkit_gpu_tests"],
864     "times": [1312444299.10216, 1312444970.459138]
865 };
866
867 test("buildersFailing", 3, function() {
868     var simulator = new NetworkSimulator();
869
870     var failingBuildInfoJSON = JSON.parse(JSON.stringify(kExampleBuildInfoJSON));
871     failingBuildInfoJSON.number = 11460;
872     failingBuildInfoJSON.steps[2].results[0] = 1;
873
874     var requestedURLs = [];
875     simulator.get = function(url, callback)
876     {
877         requestedURLs.push(url);
878         simulator.scheduleCallback(function() {
879             if (/\/json\/builders$/.exec(url))
880                 callback(kExampleBuilderStatusJSON);
881             else if (/Webkit%20Linux/.exec(url))
882                 callback(kExampleBuildInfoJSON);
883             else if (/Webkit%20Mac10\.6/.exec(url))
884                 callback(failingBuildInfoJSON);
885             else {
886                 ok(false, "Unexpected URL: " + url);
887                 callback();
888             }
889         });
890     };
891
892     simulator.runTest(function() {
893         builders.buildersFailingNonLayoutTests(function(builderNameList) {
894             deepEqual(builderNameList, {
895                 "Webkit Linux": [
896                     "webkit_gpu_tests"
897                 ],
898                 "Webkit Mac10.6": [
899                     "compile",
900                     "webkit_gpu_tests"
901                 ]
902             });
903         });
904     });
905
906     deepEqual(requestedURLs, [
907       "http://build.chromium.org/p/chromium.webkit/json/builders",
908       "http://build.chromium.org/p/chromium.webkit/json/builders/Webkit%20Linux/builds/11461",
909       "http://build.chromium.org/p/chromium.webkit/json/builders/Webkit%20Mac10.6/builds/11460",
910     ]);
911 });
912
913 test("buildersFailing (run-webkit-tests crash)", 3, function() {
914     var simulator = new NetworkSimulator();
915
916     var builderStatusJSON = JSON.parse(JSON.stringify(kExampleBuilderStatusJSON));
917     delete builderStatusJSON['Webkit Mac10.6'];
918     builderStatusJSON['Webkit Linux'].cachedBuilds = [21460];
919     builderStatusJSON['Webkit Linux'].currentBuilds = [];
920
921     var failingBuildInfoJSON = JSON.parse(JSON.stringify(kExampleBuildInfoWithWebKitTestCrashJSON));
922     failingBuildInfoJSON.number = 21460;
923
924     var requestedURLs = [];
925     simulator.get = function(url, callback)
926     {
927         requestedURLs.push(url);
928         simulator.scheduleCallback(function() {
929             if (/\/json\/builders$/.exec(url))
930                 callback(builderStatusJSON);
931             else if (/Webkit%20Linux/.exec(url))
932                 callback(failingBuildInfoJSON);
933             else {
934                 ok(false, "Unexpected URL: " + url);
935                 callback();
936             }
937         });
938     };
939
940     simulator.runTest(function() {
941         builders.buildersFailingNonLayoutTests(function(builderNameList) {
942             deepEqual(builderNameList, {
943                 "Webkit Linux": [
944                     "extract_build",
945                     "webkit_tests",
946                     "archive_webkit_tests_results",
947                     "webkit_gpu_tests",
948                     "archive_webkit_tests_gpu_results"
949                 ]
950             });
951         });
952     });
953
954     deepEqual(requestedURLs, [
955       "http://build.chromium.org/p/chromium.webkit/json/builders",
956       "http://build.chromium.org/p/chromium.webkit/json/builders/Webkit%20Linux/builds/21460",
957     ]);
958 });
959
960 test("builders.perfBuilders", 2, function() {
961     var simulator = new NetworkSimulator();
962     var builderStatusJSON = JSON.parse(JSON.stringify(kExamplePerfBuilderStatusJSON));
963     var failingBuildInfoJSON = JSON.parse(JSON.stringify(kExamplePerfBuildInfoJSON));
964
965     var requestedURLs = [];
966     simulator.get = function(url, callback)
967     {
968         requestedURLs.push(url);
969         simulator.scheduleCallback(function() {
970             if (/\/json\/builders$/.exec(url))
971                 callback(builderStatusJSON);
972             else if (/Mac10.6%20Perf/.exec(url))
973                 callback(failingBuildInfoJSON);
974             else
975                 callback();
976         });
977     };
978
979     simulator.runTest(function() {
980         builders.perfBuilders(function(builderNameList) {
981             deepEqual(builderNameList, {
982                 "dummy_perf_test_1": [
983                     {
984                         "builder": "Mac10.6 Perf",
985                         "url": "http://dummyurl1"
986                     }
987                 ],
988                 "dummy_perf_test_2": [
989                     {
990                         "builder": "Mac10.6 Perf",
991                         "url": "http://dummyurl2"
992                     }
993                 ]
994             });
995         });
996     });
997 });
998
999 })();