Update Chromium DRT to output binary (instead of base64-encoded) data for web audio...
[WebKit-https.git] / Tools / ChangeLog
1 2011-07-25  Chris Rogers  <crogers@google.com>
2
3         Update Chromium DRT to output binary (instead of base64-encoded) data for web audio testing
4         https://bugs.webkit.org/show_bug.cgi?id=65039
5
6         Reviewed by Tony Chang.
7
8         * DumpRenderTree/chromium/LayoutTestController.cpp:
9         (LayoutTestController::LayoutTestController):
10         (LayoutTestController::setAudioData):
11         * DumpRenderTree/chromium/LayoutTestController.h:
12         (LayoutTestController::audioData):
13         * DumpRenderTree/chromium/TestEventPrinter.cpp:
14         (DRTPrinter::handleAudioHeader):
15         (TestShellPrinter::handleAudioHeader):
16         * DumpRenderTree/chromium/TestShell.cpp:
17         (TestShell::dump):
18
19 2011-06-07  Martin Robinson  <mrobinson@igalia.com>
20
21         Reviewed by Gustavo Noronha Silva.
22
23         [GTK] Use WebCore scrollbars for the DRT instead of GtkScrolledWindow
24         https://bugs.webkit.org/show_bug.cgi?id=62252
25
26         Add a new subclass of WebKitWebView that overrides the size request to
27         return 1 pixel by 1 pixel. This ensure that it operates properly when
28         not packed into a GtkScrolledWindow. Also construct the WebKitWebView
29         with self-scrolling set to true.
30
31         * DumpRenderTree/gtk/DumpRenderTree.cpp:
32         (webInspectorInspectWebView): Use the new SelfScrollingWebKitWebview class here.
33         (createWebView): Ditto.
34         (main): Pack the widget into a GtkBox instead of a GtkScrolledWindow.
35         * DumpRenderTree/gtk/SelfScrollingWebKitWebView.cpp: Added.
36         (self_scrolling_webkit_web_view_class_init):
37         (self_scrolling_webkit_web_view_init):
38         (self_scrolling_webkit_web_view_new):
39         (sizeRequestMethod):
40         (getPreferredSizeMethod):
41         * DumpRenderTree/gtk/SelfScrollingWebKitWebView.h: Added.
42         * GNUmakefile.am: Added SelfScrollingWebKitWebView files to the source list.
43
44 2011-07-25  Ojan Vafai  <ojan@chromium.org>
45
46         by default hide tests that have passes for all recorded runs
47         https://bugs.webkit.org/show_bug.cgi?id=65127
48
49         Reviewed by Adam Barth.
50
51         This is part of simplifying the default views of the dashboard to
52         make it show less information for the common use cases.
53
54         * TestResultServer/static-dashboards/flakiness_dashboard.html:
55         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
56
57 2011-07-25  Ojan Vafai  <ojan@chromium.org>
58
59         stop generating expectations.json now that it's unused
60         https://bugs.webkit.org/show_bug.cgi?id=65130
61
62         Reviewed by Adam Barth.
63
64         * Scripts/webkitpy/layout_tests/controllers/manager.py:
65         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
66         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
67         * TestResultServer/handlers/menu.py:
68         * TestResultServer/static-dashboards/dashboard_base.js:
69         * TestResultServer/static-dashboards/flakiness_dashboard.html:
70
71 2011-07-25  Ojan Vafai  <ojan@chromium.org>
72
73         don't show builders in the flakiness dashboard that have stopped running a given test suite
74         https://bugs.webkit.org/show_bug.cgi?id=65126
75
76         Reviewed by Mihai Parparita.
77
78         * TestResultServer/static-dashboards/dashboard_base.js:
79
80 2011-07-25  Adam Barth  <abarth@webkit.org>
81
82         Overhaul garden-o-matic frontend to integrate revision history and failures
83         https://bugs.webkit.org/show_bug.cgi?id=65089
84
85         Reviewed by Dimitri Glazkov.
86
87         This is a major overhaul of the garden-o-matic frontend.  The new UI
88         integrates the revision history information with failures.  Failures
89         appear in context adjacent to the revisions that caused them (which are
90         highlighted).  Each buildbot receives a collumn to the left, which
91         indicates which revisions that bot has tested and whether that bot
92         showed the indicated failures.
93
94         Failures are selectable with checkboxes, and can then either be
95         examined or rebaselined.
96
97         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js:
98         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js:
99         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
100         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css:
101         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
102         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js:
103         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js:
104         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js:
105         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js:
106
107 2011-07-25  Holger Hans Peter Freyther  <zecke@selfish.org>
108
109         [buildbot] Add Qt Linux MIPSEL Configuration
110         https://bugs.webkit.org/show_bug.cgi?id=65116
111
112         Reviewed by Adam Roben.
113
114         Introduce a Qt Linux MIPS EL build slave. The configuration
115         is a build only configuration.
116
117         * BuildSlaveSupport/build.webkit.org-config/config.json: Add MIPS buildbot.
118
119 2011-07-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
120
121         [Qt][WK2] Add multi-point touch mocking to MiniBrowser
122         https://bugs.webkit.org/show_bug.cgi?id=64374
123
124         Reviewed by Benjamin Poulain.
125
126         Each mouse button generate a touch point. The touch point stay
127         virtually on screen if the mouse release happened while the Ctrl
128         modifier was pressed.
129
130         * MiniBrowser/qt/MiniBrowserApplication.cpp:
131         (MiniBrowserApplication::notify):
132         * MiniBrowser/qt/MiniBrowserApplication.h:
133
134 2011-07-25  Balazs Kelemen  <kbalazs@webkit.org>
135
136         [Qt][WK2] Use NRWT for Qt-WK2
137         https://bugs.webkit.org/show_bug.cgi?id=65097
138
139         Reviewed by Andreas Kling.
140
141         * Scripts/run-webkit-tests:
142         (useNewRunWebKitTests):
143
144 2011-07-24  Sheriff Bot  <webkit.review.bot@gmail.com>
145
146         Unreviewed, rolling out r91635.
147         http://trac.webkit.org/changeset/91635
148         https://bugs.webkit.org/show_bug.cgi?id=65083
149
150         It broke the minimal build (Requested by Ossy___OFFLINE on
151         #webkit).
152
153         * QtTestBrowser/launcherwindow.cpp:
154         (LauncherWindow::initializeView):
155         (LauncherWindow::createChrome):
156         * QtTestBrowser/launcherwindow.h:
157         (WindowOptions::WindowOptions):
158         * QtTestBrowser/main.cpp:
159         (LauncherApplication::handleUserOptions):
160
161 2011-07-24  Adam Barth  <abarth@webkit.org>
162
163         Rename garden-o-matic "alert" to "infobar" and increase the width to 100%.
164
165         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js:
166         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
167         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css:
168         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
169         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js:
170         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js:
171
172 2011-07-23  Dimitri Glazkov  <dglazkov@chromium.org>
173
174         TestConfiguration should be hashable and comparable for equality.
175         https://bugs.webkit.org/show_bug.cgi?id=65070
176
177         Reviewed by Adam Barth.
178
179         * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added __hash__ and __eq__ methods.
180         * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added unit tests.
181
182 2011-07-23  Dimitri Glazkov  <dglazkov@chromium.org>
183
184         Extract TestConfiguration from base and write a few unit tests to capture current behavior.
185         https://bugs.webkit.org/show_bug.cgi?id=65066
186
187         Reviewed by Adam Barth.
188
189         * Scripts/webkitpy/layout_tests/models/test_configuration.py: Added.
190         * Scripts/webkitpy/layout_tests/models/test_configuration_unittest.py: Added.
191         * Scripts/webkitpy/layout_tests/port/base.py: Moved code to test_configuration.py
192
193 2011-07-23  Alok Priyadarshi  <alokp@chromium.org>
194
195         Switching off acceleration for small canvas broke gpu tests
196         https://bugs.webkit.org/show_bug.cgi?id=65053
197
198         Reviewed by Stephen White.
199
200         * DumpRenderTree/chromium/WebPreferences.cpp:
201         (WebPreferences::reset):
202         (WebPreferences::applyTo):
203         * DumpRenderTree/chromium/WebPreferences.h:
204
205 2011-07-23  Keith Kyzivat  <keith.kyzivat@nokia.com>
206
207         [Qt] Add option to turn on disk caching in QtTestBrowser
208         https://bugs.webkit.org/show_bug.cgi?id=65007
209
210         Reviewed by Noam Rosenthal.
211
212         Add menu item and command line option to turn on disk caching in
213         QtTestBrowser. Simple QNetworkDiskCache added to the page's
214         QNetworkAccssManager.
215
216         * QtTestBrowser/launcherwindow.cpp:
217         (LauncherWindow::initializeView):
218         (LauncherWindow::createChrome):
219         (LauncherWindow::setDiskCache):
220         * QtTestBrowser/launcherwindow.h:
221         (WindowOptions::WindowOptions):
222         * QtTestBrowser/main.cpp:
223         (LauncherApplication::handleUserOptions):
224
225 2011-07-22  Ojan Vafai  <ojan@chromium.org>
226
227         Don't match 'DEBUG' when trying to filter BUG modifiers.
228         * TestResultServer/static-dashboards/flakiness_dashboard.html:
229         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
230
231 2011-07-22  Ojan Vafai  <ojan@chromium.org>
232
233         Fix issue loading gtests since there's no g_expectations.
234         Also, make filing a bug file a webkit.org bug, not a crbug since
235         the link is only shown for layout tests.
236         * TestResultServer/static-dashboards/dashboard_base.js:
237         * TestResultServer/static-dashboards/flakiness_dashboard.html:
238
239 2011-07-22  Ojan Vafai  <ojan@chromium.org>
240
241         pull test expectations into the dashboard from wvn.webkit.org
242         https://bugs.webkit.org/show_bug.cgi?id=65054
243
244         Reviewed by Adam Barth.
245
246         Now that svn.webkit.org supports cors headers, we can just grab the txt
247         file from there instead of generating a JSON file that we upload
248         to appengine. We'll stop generating the JSON file in a followup patch.
249
250         * TestResultServer/static-dashboards/dashboard_base.js:
251         * TestResultServer/static-dashboards/flakiness_dashboard.html:
252         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
253
254 2011-07-22  Adam Barth  <abarth@webkit.org>
255
256         Fix typo so the tool works on a case-sensitive file system.
257
258         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
259
260 2011-07-22  Adam Barth  <abarth@webkit.org>
261
262         garden-o-matic should know what patches are landing
263         https://bugs.webkit.org/show_bug.cgi?id=64978
264
265         Reviewed by Dimitri Glazkov.
266
267         This patch adds a display of the recently committed patches to
268         garden-o-matic.  The UI needs iteration, but this patch establishes the
269         plumbing.
270
271         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js:
272             - Teach trac how to extract more information from the commit log.
273         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js:
274             - Add a data attribute for storing the revision.
275         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
276             - Add a container for the recent commit history.
277         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css:
278             - CSS for displaying non-ugly commit history.
279         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js:
280             - Wire up trac to the UI container.
281         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js:
282             - A basic, compact display for a list of commits.
283
284 2011-07-22  Ojan Vafai  <ojan@chromium.org>
285
286         Fix bug when switching from layout-tests to another test-type if
287         ToT webkit.org is the selected group.
288         * TestResultServer/static-dashboards/flakiness_dashboard.html:
289
290 2011-07-22  Ojan Vafai  <ojan@chromium.org>
291
292         Add back in line accidentally deleted in http://trac.webkit.org/changeset/91612.
293         * TestResultServer/static-dashboards/flakiness_dashboard.html:
294
295 2011-07-22  Ojan Vafai  <ojan@chromium.org>
296
297         simplify the flakiness dashboard to only show modifiers/expectations for the current builder
298         https://bugs.webkit.org/show_bug.cgi?id=65049
299
300         Reviewed by Tony Chang.
301
302         This communicates less information, but probably makes the dashboard more usable.
303         Also make it show that bug lines that don't point to bug numbers still
304         show up in the bugs column (e.g. BUG_TONY) and stop showing the extra/missing
305         columns in any view. The data is still used, but only in the view that updates
306         the test_expectations.txt file.
307
308         * TestResultServer/static-dashboards/dashboard_base.js:
309         * TestResultServer/static-dashboards/flakiness_dashboard.html:
310         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
311
312 2011-07-21  Ojan Vafai  <ojan@chromium.org>
313
314         hook in the rest of the bots to the dashboard now they run NRWT
315         https://bugs.webkit.org/show_bug.cgi?id=64985
316
317         Reviewed by Adam Barth.
318
319         * TestResultServer/static-dashboards/builders.js:
320
321 2011-07-22  Alexey Proskuryakov  <ap@apple.com>
322
323         Adding Tim Horton to contributor list for Bugzilla auto-completion. He is CC'ed quite frequently.
324
325         Unreviewed.
326
327         * Scripts/webkitpy/common/config/committers.py:
328
329 2011-07-22  Michal Pakula vel Rutka  <m.pakula@samsung.com>
330
331         [EFL] ewk_frame_hit_test_new enchancement
332         https://bugs.webkit.org/show_bug.cgi?id=64260
333
334         Apply changes done in ewk_frame_hit_test_new in EWebLauncher:
335         Replacing Ewk_Hit_Test_Result_Context structure 'flags'
336         in hit test output to by enum 'context'.
337
338         Reviewed by Antonio Gomes.
339
340         * EWebLauncher/main.c:
341         (on_key_down):
342
343 2011-07-21  Adam Roben  <aroben@apple.com>
344
345         Fix typo in TestFailures
346
347         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
348
349 2011-07-21  Ojan Vafai  <ojan@chromium.org>
350
351         simplify gtest display now that we strip modifiers from the JSON
352         https://bugs.webkit.org/show_bug.cgi?id=64990
353
354         Reviewed by Adam Barth.
355
356         Now that names are normalized, we can remove all the code that
357         handles gtest name changes (e.g. for adding modifiers like DISABLED_).
358         Instead, if you try to list a test with a modifier in it, we need
359         to strip the modifier so we get the normalized value.
360
361         We also get rid of the concept of extra/missing expectations for gtests.
362         In a patch soon, we'll stop showing extra/missing expectations from the UI
363         entirely and only leave it for the special updating test_expectations.txt
364         view of the dashboard, which doesn't apply to gtests.
365
366         * TestResultServer/static-dashboards/flakiness_dashboard.html:
367         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
368
369 2011-07-21  Adam Barth  <abarth@webkit.org>
370
371         Refactor Trac.js for use in garden-o-matic
372         https://bugs.webkit.org/show_bug.cgi?id=64998
373
374         Reviewed by Adam Roben.
375
376         This patch refactors Trac.js to match the architecture and style of
377         garden-o-matic.  I've also factored AsynchronousCache out of Trac (and
378         moved it to base) because it was redundant with some other code we
379         already had.
380
381         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js:
382         (FailingTestsBugForm):
383         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js:
384         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js:
385         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
386         (ViewController.prototype._displayBuilder.start):
387         (ViewController.prototype._displayBuilder):
388         (ViewController.prototype._domForRegressionRange.trac.getCommitDataForRevisionRange):
389         (ViewController.prototype._domForRegressionRange):
390         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js:
391         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js:
392         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html:
393         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js:
394         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
395
396 2011-07-21  Ojan Vafai  <ojan@chromium.org>
397
398         Fix issue throwing a 500 to the bots. We were modifying
399         the dictionary during an iteration over it's keys and would get
400         RuntimeError: dictionary changed size during iteration
401
402         * TestResultServer/model/jsonresults.py:
403
404 2011-07-21  Adam Barth  <abarth@webkit.org>
405
406         ORWT fails to consume some NRWT arguments
407         https://bugs.webkit.org/show_bug.cgi?id=64988
408
409         Reviewed by Adam Roben.
410
411         * Scripts/old-run-webkit-tests:
412
413 2011-07-21  Adam Barth  <abarth@webkit.org>
414
415         Merge TestFailures and garden-o-matic unit tests harness
416         https://bugs.webkit.org/show_bug.cgi?id=64984
417
418         Reviewed by Adam Roben.
419
420         One unit testing framework is better than two.
421
422         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-more-unittests.html: Removed.
423         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
424
425 2011-07-21  Adam Barth  <abarth@webkit.org>
426
427         Rubber-stamped by Adam Roben.
428
429         Move garden-o-matic files into the same directory as TestFailures to
430         make it easier to integrate the codebases.
431
432         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/base.js.
433         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/base_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js.
434         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js.
435         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/checkout_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js.
436         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/config.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/config.js.
437         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/favicon-green.png: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-green.png.
438         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/favicon-red.png: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-red.png.
439         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/index.html.
440         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.css: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.css.
441         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/main.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/main.js.
442         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/partytime.gif: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif.
443         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results.js.
444         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/results_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js.
445         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-more-unittests.html: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html.
446         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js.
447         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ui_unittests.js: Copied from Tools/Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js.
448         * Scripts/webkitpy/tool/commands/abstractlocalservercommand.py:
449         * Scripts/webkitpy/tool/commands/gardenomatic.py:
450         * Scripts/webkitpy/tool/servers/data/gardeningserver: Removed.
451         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js: Removed.
452         * Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js: Removed.
453         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js: Removed.
454         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js: Removed.
455         * Scripts/webkitpy/tool/servers/data/gardeningserver/config.js: Removed.
456         * Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-green.png: Removed.
457         * Scripts/webkitpy/tool/servers/data/gardeningserver/favicon-red.png: Removed.
458         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html: Removed.
459         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: Removed.
460         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js: Removed.
461         * Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif: Removed.
462         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js: Removed.
463         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js: Removed.
464         * Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html: Removed.
465         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js: Removed.
466         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js: Removed.
467         * Scripts/webkitpy/tool/servers/gardeningserver.py:
468
469 2011-07-19  Ojan Vafai  <ojan@chromium.org>
470
471         fix links on the flakiness dashboard
472         https://bugs.webkit.org/show_bug.cgi?id=64832
473
474         Reviewed by Tony Chang.
475
476         Make them actual anchor tags and linkify the test name instead of
477         adding an extra link. Also simplify the update view since we now
478         show the linkified test name.
479
480         * TestResultServer/static-dashboards/flakiness_dashboard.html:
481
482 2011-07-21  Adam Barth  <abarth@webkit.org>
483
484         webkit.org builders should upload results to test-results AppEngine instance
485         https://bugs.webkit.org/show_bug.cgi?id=64979
486
487         Reviewed by Adam Roben.
488
489         The master just needs to pass some flags to NRWT.  This patch also lets
490         ORWT consume the flags (ignoring them) so we can pass the flags
491         unconditionally.
492
493         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
494         * Scripts/old-run-webkit-tests:
495
496 2011-07-21  Ojan Vafai  <ojan@chromium.org>
497
498         normalize gtest names in the result json
499         https://bugs.webkit.org/show_bug.cgi?id=64971
500
501         Reviewed by Eric Seidel.
502
503         This will make the resulting JSON smaller and make the
504         flakiness dashboard much more sane (e.g. we won't need to
505         show you the FLAKY_ version and the normal version).
506
507         * TestResultServer/model/jsonresults.py:
508         * TestResultServer/model/jsonresults_unittest.py:
509
510 2011-07-21  Eric Seidel  <eric@webkit.org>
511
512         Unreviewed.  Reenable ORWT for the --leaks bot.
513         Something is still wrong with the leaks summarizing
514         but I'm about to head out on vacation for 2 weeks,
515         so it's best to just revert back to ORWT until I'm back.
516
517         * Scripts/run-webkit-tests:
518         (usingLeaks):
519         (useNewRunWebKitTests):
520
521 2011-07-21  Ojan Vafai  <ojan@chromium.org>
522
523         cleanup jsonresults.py style in preparation for making some changes
524         https://bugs.webkit.org/show_bug.cgi?id=64968
525
526         Reviewed by Adam Barth.
527
528         No code changes. Unittest still passes. Mostly just removing
529         useless comments and 80 character wrapping.
530
531         * TestResultServer/model/jsonresults.py:
532         * TestResultServer/model/jsonresults_unittest.py:
533
534 2011-07-21  Adam Barth  <abarth@webkit.org>
535
536         Add missing column header.
537
538         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
539
540 2011-07-21  Eric Seidel  <eric@webkit.org>
541
542         Unreviewed.  Just fixing (and unittesting) a previous typo.
543
544         Fix typo in print_leaks_summary regexp which was causing
545         leaks summarizing to fail on the --leaks bot.
546
547         * Scripts/webkitpy/layout_tests/port/mac.py:
548         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
549
550 2011-07-21  Adam Barth  <abarth@webkit.org>
551
552         garden-o-matic should be able to rebaseline many tests at once
553         https://bugs.webkit.org/show_bug.cgi?id=64963
554
555         Reviewed by Dimitri Glazkov.
556
557         This patch contains some UI for rebaselining tests in bulk.  I don't
558         expect this UI to be the final UI, but the underlying infrastructure
559         will be useful.
560
561         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js:
562         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
563         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
564         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
565         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
566
567 2011-07-21  Adam Barth  <abarth@webkit.org>
568
569         garden-o-matic has trouble when the same test fails in different ways on diffrent bots
570         https://bugs.webkit.org/show_bug.cgi?id=64830
571
572         Unreviewed.  (Missing the patch is blocking me from fixing the tree.)
573
574         This patch is just some minor bug fixes.  One of the bugs results from
575         the sadness of having two representations (a list and a space-separated
576         string) for the set of failure types.
577
578         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
579         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
580         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
581         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
582
583 2011-07-20  Ryosuke Niwa  <rniwa@webkit.org>
584
585         Buildbot marks a nrwt bot red when tests are missing results
586         https://bugs.webkit.org/show_bug.cgi?id=64812
587
588         Reviewed by Adam Barth.
589
590         The bug was caused by multiple expressions matching on the single output.
591         Fixed it by exiting the loop as soon as one expression matches.
592
593         Because the regular expression for 'failures' is most general,
594         moved it to the end of the list to avoid it catching other cases.
595
596         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
597
598 2011-07-20  Chang Shu  <cshu@webkit.org>
599
600         Adding myself to the reviewers list; No review needed.
601
602         * Scripts/webkitpy/common/config/committers.py:
603
604 2011-07-20  Eric Seidel  <eric@webkit.org>
605
606         new-run-webkit-tests --leaks does not restart DumpRenderTree often enough
607         https://bugs.webkit.org/show_bug.cgi?id=64912
608
609         Reviewed by Adam Barth.
610
611         The bug was that set_default_option only works if the option's value
612         is "None".  So I fixed --batch-size to default to None instead of 0
613         (which kinda makes sense).
614
615         * Scripts/webkitpy/layout_tests/controllers/worker.py:
616         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
617
618 2011-07-20  Eric Seidel  <eric@webkit.org>
619
620         Make kill-old-processes kill httpd on mac
621         https://bugs.webkit.org/show_bug.cgi?id=64898
622
623         Reviewed by Adam Barth.
624
625         * BuildSlaveSupport/kill-old-processes:
626          - The line endings seem to have flipped again,
627            Thus making this diff gigantic.  The only line
628            changed is the "httpd" line.  I suspect we'll need
629            to set the line ending style from an svn checkout.
630
631 2011-07-20  Ojan Vafai  <ojan@chromium.org>
632
633         show a list of average test times in the treemap
634         https://bugs.webkit.org/show_bug.cgi?id=64899
635
636         Reviewed by Adam Roben.
637
638         For now, you click a link and it replaces the treemap
639         with a reverse sorted list of directories based on
640         average test runtime within that directory.
641
642         To cut some of the noise, we don't show directories
643         that only have one test in them or where the average
644         runtime is less than 100ms.
645
646         * TestResultServer/static-dashboards/treemap.html:
647
648 2011-07-20  Eric Seidel  <eric@webkit.org>
649
650         Teach build.webkit.org how to identify leaks in NRWT output
651         https://bugs.webkit.org/show_bug.cgi?id=64891
652
653         Reviewed by Adam Barth.
654
655         This was the last remaining piece blocking turning on
656         NRWT for the leaks bot, so I did that in this change too.
657         If for some reason we see trouble on the bots, I'll
658         revert that part of this change.
659
660         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
661         * Scripts/run-webkit-tests:
662
663 2011-07-20  Ojan Vafai  <ojan@chromium.org>
664
665         make the treemap display more human friendly
666         https://bugs.webkit.org/show_bug.cgi?id=64896
667
668         Reviewed by Tony Chang.
669
670         * TestResultServer/static-dashboards/treemap.html:
671
672 2011-07-20  Eric Seidel  <eric@webkit.org>
673
674         Move HttpLock to using a FileSystem object
675         https://bugs.webkit.org/show_bug.cgi?id=64885
676
677         Reviewed by Adam Barth.
678
679         I made a typo in my previous change, taking the value
680         of read_text_file(pid_file) and setting it to lock_pid_file
681         instead of current_pid.  Fixed now. :)
682
683         In order to test my new change I had to overhaul the unittests
684         for this class to create a separate set of tests which work off
685         of Mock objects instead of the real filesystem.
686
687         Since Executive doesn't yet wrap os.getpid() I added a FIXME
688         in several places where we're currently calling os.getpid().  I
689         felt adding Executive.getpid was outside of the scope of this change
690         but once it exists some of this code will be much simpler to mock.
691
692         * Scripts/webkitpy/layout_tests/port/http_lock.py:
693         * Scripts/webkitpy/layout_tests/port/http_lock_unittest.py:
694         * Scripts/webkitpy/tool/mocktool.py:
695
696 2011-07-20  Adam Roben  <aroben@apple.com>
697
698         Fix typo in TestFailures's Bugzilla constants
699
700         This was preventing the "Version" field from being pre-filled when filing new bugs.
701
702         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBugzilla.js:
703
704 2011-07-20  Eric Seidel  <eric@webkit.org>
705
706         Move HttpLock to using a FileSystem object
707         https://bugs.webkit.org/show_bug.cgi?id=64885
708
709         Reviewed by Adam Barth.
710
711         There is no functional change here.  Just moving off
712         of direct os.foo calls to their filesystem equivalent.
713
714         This makes it possible to now unittest HttpLock using a
715         MockFileSystem instead of needing to talk to the filesystem directly.
716
717         This also will have changed any port test cases which were using a
718         mock file system to now have an HttpLock based on a mock filesystem
719         instead.  I saw no change in the unittests so it's possible
720         we're not testing that configuration (or more likely that it "just works").
721
722         * Scripts/webkitpy/layout_tests/port/base.py:
723         * Scripts/webkitpy/layout_tests/port/http_lock.py:
724         * Scripts/webkitpy/layout_tests/port/http_lock_unittest.py:
725
726 2011-07-20  Adam Barth  <abarth@webkit.org>
727
728         NRWT results uses too much space per run
729         https://bugs.webkit.org/show_bug.cgi?id=64845
730
731         Reviewed by Ojan Vafai.
732
733         Removing these files saves about 750K per build.
734
735         * Scripts/webkitpy/layout_tests/controllers/manager.py:
736
737 2011-07-20  Zan Dobersek  <zandobersek@gmail.com>
738
739         [Gtk] [NRWT] Xvfb produces a lot of stderr output
740         https://bugs.webkit.org/show_bug.cgi?id=64669
741
742         Reviewed by Philippe Normand.
743
744         Redirect the stderr output of the driver's Xvfb process
745         to /dev/null to suppress unneeded output.
746
747         * Scripts/webkitpy/layout_tests/port/gtk.py:
748
749 2011-07-19  Eric Seidel  <eric@webkit.org>
750
751         parse-malloc-history always exits 1, causing NRWT to fail
752         https://bugs.webkit.org/show_bug.cgi?id=64835
753
754         Reviewed by Adam Barth.
755
756         ORWT just never checked the return code. :)
757
758         * Scripts/parse-malloc-history:
759         (main):
760         * Scripts/webkitpy/layout_tests/port/mac.py:
761
762 2011-07-19  Kevin Ollivier  <kevino@theolliviers.com>
763
764         [wx] Unreviewed build fix, don't add the debug prefix as 2.9 no longer uses one.
765
766         * waf/build/wxpresets.py:
767
768 2011-07-19  Eric Seidel  <eric@webkit.org>
769
770         new-run-webkit-tests should only enable MallocStackLogging for DRT
771         https://bugs.webkit.org/show_bug.cgi?id=64792
772
773         Reviewed by Adam Barth.
774
775         The previous code would enable it for all servers launched
776         by the port, which included Apache, the python websocket server
777         as well as ImageDiff.  Now only DumpRenderTree will have
778         MallocStackLogging enabled or the GuardMalloc library injected.
779
780         I also cleaned up the websocket_server code to use filesystem
781         while I was in it.
782
783         I also made DRT restart every 1000 tests when running with
784         --leaks enabled.  I believe this made the --leaks run slightly
785         faster, but it still takes over an hour on my machine. :(
786
787         * Scripts/webkitpy/layout_tests/controllers/worker.py:
788         * Scripts/webkitpy/layout_tests/port/base.py:
789         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
790         * Scripts/webkitpy/layout_tests/port/gtk.py:
791         * Scripts/webkitpy/layout_tests/port/mac.py:
792         * Scripts/webkitpy/layout_tests/port/qt.py:
793         * Scripts/webkitpy/layout_tests/port/server_process.py:
794         * Scripts/webkitpy/layout_tests/port/webkit.py:
795         * Scripts/webkitpy/layout_tests/servers/http_server.py:
796         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
797
798 2011-07-19  Ojan Vafai  <ojan@chromium.org>
799
800         remove the concept of platform fallbacks
801         https://bugs.webkit.org/show_bug.cgi?id=64829
802
803         Reviewed by Adam Barth.
804         
805         In the process, wrote tests for this code and fixed a pretty major
806         bug (now covered by the test).
807
808         * TestResultServer/static-dashboards/flakiness_dashboard.html:
809         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
810
811 2011-07-19  Ojan Vafai  <ojan@chromium.org>
812
813         cleanup some of the PLATFORM logic in the flakiness dashboard
814         https://bugs.webkit.org/show_bug.cgi?id=64821
815
816         Reviewed by Adam Barth.
817
818         * TestResultServer/static-dashboards/flakiness_dashboard.html:
819         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
820
821 2011-07-19  Ojan Vafai  <ojan@chromium.org>
822
823         cleanup some of the PLATFORM logic in the flakiness dashboard
824         https://bugs.webkit.org/show_bug.cgi?id=64821
825
826         Reviewed by Adam Barth.
827
828         * TestResultServer/static-dashboards/flakiness_dashboard.html:
829         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
830
831 2011-07-19  Dimitri Glazkov  <dglazkov@chromium.org>
832
833         Store line number on TestExpectationLine.
834         https://bugs.webkit.org/show_bug.cgi?id=64800
835
836         Reviewed by Adam Barth.
837
838         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Refactored to store line number on TestExpectationLine instances.
839
840 2011-07-19  Ojan Vafai  <ojan@chromium.org>
841
842         fix flakiness dashboard for XP bots with XP in the name instead of WIN
843         https://bugs.webkit.org/show_bug.cgi?id=64826
844
845         Reviewed by Mihai Parparita.
846
847         * TestResultServer/static-dashboards/flakiness_dashboard.html:
848         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
849
850 2011-07-19  Cary Clark  <caryclark@google.com>
851
852         add myself to committers.py
853         https://bugs.webkit.org/show_bug.cgi?id=64816
854
855         No review needed.
856
857         * Scripts/webkitpy/common/config/committers.py:
858
859 2011-07-19  Daniel Bates  <dbates@webkit.org>
860
861         Rename variable isEmptyTextPatch in svn-{apply, unapply}
862         https://bugs.webkit.org/show_bug.cgi?id=64648
863
864         Reviewed by Adam Roben.
865
866         Rename the variable isEmptyTextPatch to hasTextChunks, which is
867         more descriptive and makes its usage read well in control statements.
868
869         * Scripts/svn-apply:
870         (patch):
871         * Scripts/svn-unapply:
872         (patch):
873
874 2011-07-19  Adam Roben  <aroben@apple.com>
875
876         Make TestFailures show existing bugs and a new bug link for flaky tests
877
878         Fixes <http://webkit.org/b/63728> TestFailures page should make it easy to file bugs about
879         flaky tests
880         and
881         <http://webkit.org/b/63830> TestFailures page doesn't show related bugs for possibly-flaky
882         tests, but should
883
884         Reviewed by Sam Weinig.
885
886         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm.js:
887         Added. This is what's used to file new bugs about flaky tests.
888         (FlakyTestBugForm): Calls up to the base class, stores the arguments, and sets our
889         title, description, and URL.
890
891         (FlakyTestBugForm.prototype._createBugDescription):
892         (FlakyTestBugForm.prototype._createBugTitle):
893         These do what they say.
894
895         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyTestBugForm_unittests.js:
896         Added. Tests of the above.
897
898         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
899         (#failure-history > li):
900         (#possibly-flaky-tests > li):
901         (#failure-history > li, #possibly-flaky-tests > li):
902         (#possibly-flaky-tests > li > :first-child):
903         (.flakiness-examples-list):
904         Styling to account for the new elements.
905
906         (.expandable):
907         (.expanded > .expandable):
908         Generalized the .flakiness-example-list code to a generic .expandable class. Removed the
909         transition properties because we can't transition to/from 'auto' (but really would like
910         to!).
911
912         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
913         (ViewController.prototype._displayBuilder): Moved code to create the FailingTestsBugForm
914         here from _domForNewAndExistingBugs. Updated for changes to _domForPossiblyFlakyTests.
915         (ViewController.prototype._domForNewAndExistingBugs): Changed to take a NewBugForm as an
916         argument instead of creating one ourselves.
917         (ViewController.prototype._domForPossiblyFlakyTests): Changed to take all analyzed builds as
918         an argument instead of just the number of analyzed builds. Put the examples list inside a
919         container <div>, which is also used to hold the new/existing bugs UI. Removed code to deal
920         with animating the height of the examples list; we don't do this anymore because it's hard
921         to make it work correctly with the asynchronous loading of existing bugs. When we populate
922         the examples list, also set up the new/existing bug UI.
923
924         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in
925         FlakyTestBugForm.
926
927         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
928         Pull in FlakyTestBugForm and its tests.
929
930 2011-07-19  Ryosuke Niwa  <rniwa@webkit.org>
931
932         Buildbot marks a nrwt bot red when tests are missing results
933         https://bugs.webkit.org/show_bug.cgi?id=64812
934
935         Reviewed by Tony Chang.
936
937         Added "missing results" label for tests that are missing results.
938
939         buildbot Now reports shows a label "X missing results" on a run when X tests were missing
940         expected results on that run.
941
942         Also rephrased "X failed" and "X were flaky" to "X failures" and "X flakes".
943
944         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
945
946 2011-07-19  Adam Roben  <aroben@apple.com>
947
948         Extract some of FailingTestsBugForm's code into a base class
949
950         Prep work for fixing <http://webkit.org/b/63728> TestFailures page should make it easy to
951         file bugs about flaky tests
952
953         Reviewed by Sam Weinig.
954
955         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js:
956         Moved BugzillaConstants to new WebKitBugzilla file. Moved a bunch of other code from here to
957         TestRelatedBugForm.js.
958
959         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js:
960         Moved some tests to TestRelatedBugForm_unittests.js.
961
962         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm.js: Added.
963         (TestRelatedBugForm):
964         (TestRelatedBugForm.prototype.domElement):
965         (TestRelatedBugForm.prototype._computeOperatingSystem):
966         (TestRelatedBugForm.prototype._computePlatform):
967         Code came from FailingTestsBugForm.
968
969         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestRelatedBugForm_unittests.js:
970         Added. Tests came from FailingTestsBugForm_unittests.js
971
972         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/WebKitBugzilla.js:
973         Added. Code came from FailingTestsBugForm.js.
974
975         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in
976         TestRelatedBugForm.js and WebKitBugzilla.js. Moved Bugzilla.js out of the list of files that
977         need to be pulled in early for parsing reasons.
978
979         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
980         Pull in TestRelatedBugForm and tests and WebKitBugzilla.
981
982 2011-07-19  Sam Weinig  <sam@webkit.org>
983
984         Remove obsolete Mac NRWT test bots
985         https://bugs.webkit.org/show_bug.cgi?id=64806
986
987         Reviewed by Adam Roben.
988
989         Remove "Leopard Intel Release (NRWT)" and "SnowLeopard Intel Release (NRWT)"
990         which have been disconnected for some time and have been obsoleted by
991         the main testers using NRWT.
992
993         * BuildSlaveSupport/build.webkit.org-config/config.json:
994
995 2011-07-19  Sam Weinig  <sam@webkit.org>
996
997         webkit-patch rebaseline crashes on use
998         https://bugs.webkit.org/show_bug.cgi?id=64775
999
1000         Reviewed by Adam Roben.
1001
1002         Fix incorrectly spelled attribute name.
1003
1004         * Scripts/webkitpy/common/net/layouttestresults.py:
1005         The attribute is test_name, not filename.
1006
1007         * Scripts/webkitpy/common/net/layouttestresults_unittest.py:
1008         Add test for tests_matching_failure_types.
1009
1010 2011-07-18  Eric Seidel  <eric@webkit.org>
1011
1012         new-run-webkit-tests should support --leaks
1013         https://bugs.webkit.org/show_bug.cgi?id=63832
1014
1015         Reviewed by Dirk Pranke.
1016
1017         This may not be sufficient to actually transition over the leaks bot,
1018         but this is a huge step in the right direction.
1019
1020         I had to make parse-malloc-history understand being passed more than
1021         one file (to avoid the silly cat | nonsense in old-run-webkit-tests).
1022
1023         I removed some dead code relating to previous iterations of our crash detection.
1024
1025         I created a new class "LeakDetector" to encapsulate all this logic.
1026         Eventually we should consider pulling that class out of mac.py and
1027         sharing with other ports.  However given that ORWT has had
1028         --leaks support on Mac for almost 7 years and no other port has added
1029         it, leaves me to believe we're in no rush to move LeakDetector.
1030
1031         I've tested --leaks locally.  I suspect there are more bugs to shake out
1032         but it seems to work well enough to start.
1033
1034         I also added support for --guard-malloc, but have not tested it much.  It
1035         should be viewed as experimental at this time.
1036
1037         I also fixed various os.path uses to self._filesystem as I was reading
1038         through the various files to understand how best to fix this bug.
1039
1040         * Scripts/old-run-webkit-tests:
1041         (parseLeaksandPrintUniqueLeaks):
1042         * Scripts/parse-malloc-history:
1043         (main):
1044         * Scripts/webkitpy/common/system/crashlogs.py:
1045         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1046         * Scripts/webkitpy/layout_tests/controllers/worker.py:
1047         * Scripts/webkitpy/layout_tests/port/base.py:
1048         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
1049         * Scripts/webkitpy/layout_tests/port/gtk.py:
1050         * Scripts/webkitpy/layout_tests/port/mac.py:
1051         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
1052         * Scripts/webkitpy/layout_tests/port/server_process.py:
1053         * Scripts/webkitpy/layout_tests/port/webkit.py:
1054         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1055
1056 2011-07-19  Adam Barth  <abarth@webkit.org>
1057
1058         garden-o-matic should have a "Triage Failures" button for iterating over failures
1059         https://bugs.webkit.org/show_bug.cgi?id=64769
1060
1061         Reviewed by Eric Seidel.
1062
1063         This patch adds some global static state and refactors things a bit so
1064         that we can iterate over all the failures in the details pane.
1065
1066         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
1067             - Add a generic callback iterator to iterate through a series of
1068               callbacks. We use this to iterate through the failures we want to
1069               display the details of.
1070         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
1071             - Add a toolbar for the results summary and change the buttons to
1072               be real buttons.
1073         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1074             - Make the detail pane 75% of the window.
1075             - Make the buttons pretty.
1076             - Allow the failure type badges to apply to the details pane as well.
1077         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1078             - Restructure how we bring up the details pane so we can iterate
1079               through a bunch of failures.
1080             - Remove the transition between results details because it's
1081               annoying when you want to click through a bunch of failures.
1082         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
1083             - Add some more structure to the title bar for the results details
1084               so it's clearer which results we're currently displaying.
1085
1086 2011-07-19  Adam Barth  <abarth@webkit.org>
1087
1088         garden-o-matic should live update as conditions change on the buildbot
1089         https://bugs.webkit.org/show_bug.cgi?id=64646
1090
1091         Reviewed by Eric Seidel.
1092
1093         This patch causes the garden-o-matic display to update every 10 minutes
1094         to show the latest failures.  This patch required a moderately large
1095         refactoring of main.js to make the display incremental instead of
1096         all-at-once.
1097
1098         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
1099         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1100         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1101         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
1102
1103 2011-07-18  Tab Atkins  <jackalmage@gmail.com>
1104
1105         Tab Atkins is not in committers.py (as a non-committer)
1106         https://bugs.webkit.org/show_bug.cgi?id=64770
1107
1108         Reviewed by Eric Seidel.
1109
1110         * Scripts/webkitpy/common/config/committers.py:
1111
1112 2011-07-18  Ojan Vafai  <ojan@chromium.org>
1113
1114         Load ToT chromium bots by default in the flakiness dashboard
1115         https://bugs.webkit.org/show_bug.cgi?id=64756
1116
1117         Reviewed by Adam Barth.
1118
1119         For now, these are the most useful bots to look at. Eventually,
1120         we may want to load the build.webkit.org bots by default once
1121         most of the bots there upload results.
1122
1123         * TestResultServer/static-dashboards/dashboard_base.js:
1124
1125 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
1126
1127         Focus and selection events are not fired when a <select>'s selection
1128         changes
1129         https://bugs.webkit.org/show_bug.cgi?id=64504
1130         <rdar://problem/9319881>
1131
1132         Reviewed by Alice Liu.
1133
1134         * DumpRenderTree/AccessibilityController.h:
1135         Added m_notificationsEventHook for addNotificationListener().
1136         m_allEventsHook will now be used for setLogAccessibilityEvents().
1137
1138         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
1139         (AccessibilityController::AccessibilityController):
1140         Initialize m_notificationsEventHook.
1141         (AccessibilityController::~AccessibilityController):
1142         Turn off logging of all accessibility events. If
1143         m_notificationsEventHook is non-null, unhook it.
1144         (logEventProc):
1145         Add handling of EVENT_OBJECT_SELECTION.
1146         (AccessibilityController::setLogAccessibilityEvents):
1147         If the state of logging is not changing, return early. If we're turning
1148         off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a
1149         hook for all events.
1150         (AccessibilityController::addNotificationListener):
1151         Use m_notificationsEventHook rather than m_allEventsHook.
1152
1153 2011-07-18  Eric Seidel  <eric@webkit.org>
1154
1155         webkit-patch apply-attachment does not work when not called from the root of the checkout
1156         https://bugs.webkit.org/show_bug.cgi?id=64751
1157
1158         Unreviewed.  Just updating unit test results after bug 64751.
1159
1160         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
1161         * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
1162
1163 2011-07-18  Adam Barth  <abarth@webkit.org>
1164
1165         simplejson has trouble on chromium-linux
1166         https://bugs.webkit.org/show_bug.cgi?id=64757
1167
1168         Reviewed by Eric Seidel.
1169
1170         Use the native JSON, if available.
1171
1172         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
1173
1174 2011-07-18  Ojan Vafai  <ojan@chromium.org>
1175
1176         update the flakiness dashboard to understand the new platforms/formats in test_expectations
1177         https://bugs.webkit.org/show_bug.cgi?id=64743
1178
1179         Reviewed by Adam Barth.
1180
1181         The test expectations format changed a long time ago and the flakiness dashboard
1182         was never updated to match.
1183
1184         * TestResultServer/static-dashboards/dashboard_base.js:
1185         * TestResultServer/static-dashboards/flakiness_dashboard.html:
1186         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
1187         * TestResultServer/static-dashboards/timeline_explorer.html:
1188
1189 2011-07-18  Eric Seidel  <eric@webkit.org>
1190
1191         webkit-patch apply-attachment does not work when not called from the root of the checkout
1192         https://bugs.webkit.org/show_bug.cgi?id=64751
1193
1194         Reviewed by Adam Barth.
1195
1196         Last week I removed a os.chdir in EnsureWorkingDirectoryClean, which
1197         is a step that we run for most commands (as one of the earliest steps).
1198         EnsureWorkingDirectoryClean was incorrectly calling os.chdir to change
1199         the CWD to the checkout root.  This magically made a bunch of otherwise
1200         wrong code work.
1201
1202         When I realized that apply-attachment no longer worked as expected today,
1203         I went and fixed the bug, then realizing that we were not testing
1204         what the cwd was when running various commands.  I fixed our MockExecutive
1205         to always log what the cwd is and fixed a whole bunch of places
1206         where we needed to be setting the cwd.
1207
1208         Hopefully this will solve our cwd problems once and for-all, and webkit-patch
1209         will again correctly work when called from any directory (including outside
1210         of a webkit checkout).
1211
1212         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1213         * Scripts/webkitpy/common/system/executive.py:
1214         * Scripts/webkitpy/common/system/workspace_unittest.py:
1215         * Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
1216         * Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
1217         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
1218         * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
1219         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
1220         * Scripts/webkitpy/tool/bot/irc_command.py:
1221         * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
1222         * Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
1223         * Scripts/webkitpy/tool/commands/download_unittest.py:
1224         * Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
1225         * Scripts/webkitpy/tool/commands/queues.py:
1226         * Scripts/webkitpy/tool/commands/queues_unittest.py:
1227         * Scripts/webkitpy/tool/commands/queuestest.py:
1228         * Scripts/webkitpy/tool/mocktool.py:
1229         * Scripts/webkitpy/tool/servers/gardeningserver.py:
1230         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1231         * Scripts/webkitpy/tool/steps/build.py:
1232         * Scripts/webkitpy/tool/steps/checkstyle.py:
1233         * Scripts/webkitpy/tool/steps/editchangelog.py:
1234         * Scripts/webkitpy/tool/steps/preparechangelog.py:
1235         * Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
1236         * Scripts/webkitpy/tool/steps/runtests.py:
1237         * Scripts/webkitpy/tool/steps/steps_unittest.py:
1238         * Scripts/webkitpy/tool/steps/update.py:
1239
1240 2011-07-18  Adam Barth  <abarth@webkit.org>
1241
1242         Increase information garden-o-matic information density by switching to a table
1243         https://bugs.webkit.org/show_bug.cgi?id=64642
1244
1245         Reviewed by Dimitri Glazkov.
1246
1247         The old layout couldn't handle the large number of failures we had
1248         today.  This patch switches garden-o-matic to a table-based layout,
1249         which can handle many more failures gracefully.  (I expect we'll need
1250         more UI iterations.)
1251
1252         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1253         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1254         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
1255         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
1256
1257 2011-07-18  Adam Barth  <abarth@webkit.org>
1258
1259         garden-o-matic should be able to determine when compile breaks
1260         https://bugs.webkit.org/show_bug.cgi?id=64190
1261
1262         Reviewed by Dimitri Glazkov.
1263
1264         This patch adds a red-ish box to the top of the page whenever there is
1265         a compile error on the bots.  The box automatically opens and closes as
1266         appropriate and links to the waterfall display.  In the future, we
1267         might want to compute a regression range.
1268
1269         * Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
1270             - Add the build-only bots to the config.  We use these to check
1271               whether the build failed, which is faster than waiting for the
1272               tester bots to cycle.
1273         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
1274             - Add DOM for the alert bar.
1275         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1276             - CSS to support the alert bar.
1277         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1278             - Wiring up events to poll the buildbot to see whether compile has
1279               failed.
1280         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
1281             - Infrastructure for fetching and parsing the buildbot status JSON
1282               blob.  This code could be better factored for testability.  :(
1283         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
1284             - UI for displaying compile errors.
1285         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
1286
1287 2011-07-18  Sheriff Bot  <webkit.review.bot@gmail.com>
1288
1289         Unreviewed, rolling out r91132 and r91135.
1290         http://trac.webkit.org/changeset/91132
1291         http://trac.webkit.org/changeset/91135
1292         https://bugs.webkit.org/show_bug.cgi?id=64681
1293
1294         Broke GTK and Chromium debug bots (Requested by rniwa on
1295         #webkit).
1296
1297         * DumpRenderTree/AccessibilityController.h:
1298         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
1299         (AccessibilityController::AccessibilityController):
1300         (AccessibilityController::~AccessibilityController):
1301         (logEventProc):
1302         (AccessibilityController::setLogAccessibilityEvents):
1303         (AccessibilityController::addNotificationListener):
1304
1305 2011-07-17  Philippe Normand  <pnormand@igalia.com>
1306
1307         test-webkitpy failing with Python 2.5
1308         https://bugs.webkit.org/show_bug.cgi?id=64594
1309
1310         Reviewed by Eric Seidel.
1311
1312         Updated simplejson to version 2.1.6 that fixes an issue when
1313         dumping slashes. Also use cgi.parse_qs instead of the urlparse
1314         version to be compatible with Python2.5. Verified the fix with
1315         test-webkitpy on python 2.5 and python 2.6.
1316
1317         * Scripts/webkitpy/thirdparty/simplejson/README.txt:
1318         * Scripts/webkitpy/thirdparty/simplejson/__init__.py:
1319         * Scripts/webkitpy/thirdparty/simplejson/_speedups.c:
1320         (json_PyOS_string_to_double):
1321         (_convertPyInt_AsSsize_t):
1322         (_convertPyInt_FromSsize_t):
1323         (ascii_escape_char):
1324         (ascii_escape_unicode):
1325         (ascii_escape_str):
1326         (raise_errmsg):
1327         (join_list_unicode):
1328         (join_list_string):
1329         (_build_rval_index_tuple):
1330         (scanstring_str):
1331         (scanstring_unicode):
1332         (py_scanstring):
1333         (py_encode_basestring_ascii):
1334         (scanner_dealloc):
1335         (scanner_traverse):
1336         (scanner_clear):
1337         (_parse_object_str):
1338         (_parse_object_unicode):
1339         (_parse_array_str):
1340         (_parse_array_unicode):
1341         (_parse_constant):
1342         (_match_number_str):
1343         (_match_number_unicode):
1344         (scan_once_str):
1345         (scan_once_unicode):
1346         (scanner_call):
1347         (scanner_new):
1348         (scanner_init):
1349         (encoder_new):
1350         (encoder_init):
1351         (encoder_call):
1352         (_encoded_const):
1353         (encoder_encode_float):
1354         (encoder_encode_string):
1355         (_steal_list_append):
1356         (encoder_listencode_obj):
1357         (encoder_listencode_dict):
1358         (encoder_listencode_list):
1359         (encoder_dealloc):
1360         (encoder_traverse):
1361         (encoder_clear):
1362         (init_speedups):
1363         * Scripts/webkitpy/thirdparty/simplejson/decoder.py:
1364         * Scripts/webkitpy/thirdparty/simplejson/encoder.py:
1365         * Scripts/webkitpy/thirdparty/simplejson/ordered_dict.py: Added.
1366         * Scripts/webkitpy/thirdparty/simplejson/scanner.py:
1367         * Scripts/webkitpy/thirdparty/simplejson/tool.py: Added.
1368         * Scripts/webkitpy/tool/servers/reflectionhandler.py:
1369
1370 2011-07-17  Dimitri Glazkov  <dglazkov@chromium.org>
1371
1372         Rename ModifierMatcher to SpecificityCalculator.
1373         https://bugs.webkit.org/show_bug.cgi?id=64660
1374
1375         It's a little longer than before, but it is much clearer.
1376
1377         Reviewed by Adam Barth.
1378
1379         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Renamed and adjusted
1380             all callsites, also rewrote the comments.
1381         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Adjusted callsites
1382             and renamed tests.
1383
1384 2011-07-15  Adam Barth  <abarth@webkit.org>
1385
1386         gardening server should proxy buildbot status for garden-o-matic
1387         https://bugs.webkit.org/show_bug.cgi?id=64588
1388
1389         Reviewed by Eric Seidel.
1390
1391         This information will be used to detect build breaks.  I took this
1392         opportunity to make ChromiumBuildBot non-static.
1393
1394         * Scripts/webkitpy/common/host.py:
1395         * Scripts/webkitpy/tool/commands/rebaseline.py:
1396         * Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
1397         * Scripts/webkitpy/tool/mocktool.py:
1398         * Scripts/webkitpy/tool/servers/gardeningserver.py:
1399         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1400
1401 2011-07-15  Julien Chaffraix  <jchaffraix@webkit.org>
1402
1403         [NRWT] Add support for --no-http
1404         https://bugs.webkit.org/show_bug.cgi?id=64564
1405
1406         Reviewed by Dirk Pranke.
1407
1408         Added support for --no-http, which disables both HTTP and websockets tests.
1409         It also matches the old-run-webkit-tests behavior if --force is used.
1410
1411         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1412         Fixed HTTP_SUBDIR and WEBSOCKET_SUBDIR as tests do not start with a leading separator.
1413         We check if --no-http is set and add the HTTP / websockets tests to the skipped list prior to looking
1414         at the expectation file. Fixed the  _test_requires_lock function to use the same code path to determine
1415         what is worth have an HTTP lock as --no-http to avoid badness.
1416
1417         * Scripts/webkitpy/layout_tests/port/test.py: Added 2 new tests to our mock filesystem to validate that
1418         we do skip properly HTTP / websocket tests inside platform/.
1419
1420         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
1421         Added tests that we properly skip all the tests.
1422
1423         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1424         Added checks for the command line arguments.
1425
1426 2011-07-13  Jon Honeycutt  <jhoneycutt@apple.com>
1427
1428         Focus and selection events are not fired when a <select>'s selection
1429         changes
1430         https://bugs.webkit.org/show_bug.cgi?id=64504
1431         <rdar://problem/9319881>
1432
1433         Reviewed by Alice Liu.
1434
1435         * DumpRenderTree/AccessibilityController.h:
1436         Added m_notificationsEventHook for addNotificationListener().
1437         m_allEventsHook will now be used for setLogAccessibilityEvents().
1438
1439         * DumpRenderTree/win/AccessibilityControllerWin.cpp:
1440         (AccessibilityController::AccessibilityController):
1441         Initialize m_notificationsEventHook.
1442         (AccessibilityController::~AccessibilityController):
1443         Turn off logging of all accessibility events. If
1444         m_notificationsEventHook is non-null, unhook it.
1445         (logEventProc):
1446         Add handling of EVENT_OBJECT_SELECTION.
1447         (AccessibilityController::setLogAccessibilityEvents):
1448         If the state of logging is not changing, return early. If we're turning
1449         off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a
1450         hook for all events.
1451         (AccessibilityController::addNotificationListener):
1452         Use m_notificationsEventHook rather than m_allEventsHook.
1453
1454 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1455
1456         Refactor TestExpectationModel to use TestExpectationLine as data item.
1457         https://bugs.webkit.org/show_bug.cgi?id=64635
1458
1459         This is a bit largish in scope. Does the following things:
1460
1461         1) Adds "path" member to TestExpectationLine to hold normalized path to test, computed at parsing,
1462            and changes code that used Port.normalize_test_name to rely on TestExpectationLine.path. As a result, TestExpectationModel no longer
1463            needs to have any port knowledge.
1464
1465         2) Adds "create_passing_expectation" class method to TestExpectationLine to generate a pristine passing expectation out of a test name,
1466            and changes TestExpectations._process_tests_without_expectations to use it, thus eliminating the need for a special API entry point.
1467            Now all expectations are added to the model in the same way!
1468
1469         3) Changes TestExpectationModel's main test index to store a tuple consisting of line number and TestExpectationLine instance.
1470
1471         Reviewed by Adam Barth.
1472
1473         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Refactored code.
1474
1475 2011-07-15  Adam Roben  <aroben@apple.com>
1476
1477         Teach TestFailures how to detect interrupted build steps
1478
1479         Fixes <http://webkit.org/b/64619> TestFailures page thinks all tests passed in
1480         http://build.webkit.org/builders/SnowLeopard%20Intel%20Release%20(WebKit2%20Tests)/builds/13401
1481
1482         Reviewed by Daniel Bates.
1483
1484         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
1485         (Builder.prototype.getNumberOfFailingTests): If the build step has a result code of 4, the
1486         build step was interrupted. Treat it as an error (by returning a failureCount of -1).
1487
1488         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
1489         Added a test for the above.
1490
1491         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js:
1492         (LayoutTestResultsLoader.prototype.start): Bumped the cache version to evict old, buggy
1493         cache data that was afflicted by the above bug.
1494
1495 2011-07-15  Eric Seidel  <eric@webkit.org>
1496
1497         new-run-webkit-tests crashes on Apple's Windows port when trying to launch Apache
1498         https://bugs.webkit.org/show_bug.cgi?id=64533
1499
1500         Reviewed by Adam Roben.
1501
1502         Blind removal of Chromium-specific code (now that Chromium does not use this file).
1503
1504         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
1505
1506 2011-07-15  Adam Roben  <aroben@apple.com>
1507
1508         Make TestFailures's list of possibly-flaky tests not so tall
1509
1510         Fixes <http://webkit.org/b/64618> TestFailures page's list of flaky tests takes up way too
1511         much room
1512
1513         Reviewed by Daniel Bates.
1514
1515         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
1516         Removed a no-longer-used .flakiness-example-separator selector.
1517
1518         (#failure-history > li):
1519         (#possibly-flaky-tests > li):
1520         (#failure-history > li, #possibly-flaky-tests > li):
1521         Use a lot less padding for the possibly-flaky tests.
1522
1523 2011-07-15  Tony Chang  <tony@chromium.org>
1524
1525         [chromium] land linux selection color layout test
1526         https://bugs.webkit.org/show_bug.cgi?id=64631
1527
1528         Reviewed by Ojan Vafai.
1529
1530         I had removed this code in r76620 because I thought it wasn't used.
1531         Turns out there was a layout test in the chromium tree that never
1532         got migrated that used it.  Re-add the code and land the layout
1533         test (I will remove it from the chromium tree soon).
1534
1535         * DumpRenderTree/chromium/LayoutTestController.cpp:
1536         (LayoutTestController::LayoutTestController):
1537         (LayoutTestController::forceRedSelectionColors):
1538         * DumpRenderTree/chromium/LayoutTestController.h:
1539
1540 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1541
1542         Revert http://trac.webkit.org/changeset/91091, since Python 2.5
1543         does not support enumerate() start argument.
1544
1545         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Reverted.
1546
1547 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1548
1549         Clean up test_expectations.py after refactorings.
1550         https://bugs.webkit.org/show_bug.cgi?id=64620
1551
1552         * Renamed all variables holding TestExpectationLine to expectation_line to avoid confusion with
1553           its sub-part, the actual expectation.
1554         * Renamed all references to options to modifier to eliminate dual terminology.
1555         * Made a bunch of parser constants and changed all callsites to use them.
1556         * Various other minor clean-ups.
1557
1558         Reviewed by Adam Barth.
1559
1560         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Cleaned up stuff.
1561         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed callsites after cleanup.
1562         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto.
1563
1564 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1565
1566         Move expectation parsing code to TestExpectationParser.
1567         https://bugs.webkit.org/show_bug.cgi?id=64605
1568
1569         This is a somewhat mechanical move, with two interesting bits:
1570         
1571         1) TestExpectationParser.parse methods renamed to tokenize, to better
1572         reflect what they do
1573
1574         2) TestExpectationLine now carries all of its info, from tokens to parsed data,
1575         and even the list of tests that it matches (a line may refer to more than one test).
1576
1577         Reviewed by Adam Barth.
1578
1579         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Moved parsing-related TestExpectaions methods
1580             to TestExpectationParser, added more members to TestExpectationLine to carry parsed info, renamed existing parse methods
1581             to "tokenize", changed callsites to use new code.
1582         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed unit tests to reflect renames.
1583
1584 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1585
1586         Switch to use Python enumerate function to enumerate line numbers.
1587         https://bugs.webkit.org/show_bug.cgi?id=64602
1588
1589         Reviewed by Adam Barth.
1590
1591         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Changed to use enumerate.
1592
1593 2011-07-15  Martin Robinson  <mrobinson@igalia.com>
1594
1595         Build fixes for WebKit2. Ensure that all generated sources are
1596         on nodist primaries, that they are on forward declared variables
1597         so that BUILT_SOURCES is calculated properly and that zlib is 
1598         included during linking (for WOFF support).
1599
1600         * WebKitTestRunner/GNUmakefile.am:
1601
1602 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1603
1604         Store error and warning information on TestExpectationLine.
1605         https://bugs.webkit.org/show_bug.cgi?id=64565
1606
1607         Keeping errors and warnings on the TestExpectationLine instance allows us to decouple storing errors
1608         from various parsing and validation mechanisms and have more flexibility in reporting and understanding the origin of the errors.
1609
1610         Reviewed by Adam Barth.
1611
1612         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added TestExpectationLine.warnings list to keep track of non-fatal errors,
1613             converted the code to add errors and warnings to corresponding TestExpectationLine instances, removed the code that used to store
1614             this info on TestExpectations. In the process, had to refactor ModifierMatcher a bit to take in a TestExpdectationLine instance.
1615         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed ModifierMatcher callsite.
1616
1617 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1618
1619         Plumb the use of TestExpectationLine deeper, clean up.
1620         https://bugs.webkit.org/show_bug.cgi?id=64559
1621
1622         Instead of carrying various bits of TestExpectationLine, plumb it down to its consumers,
1623         also cleaning up names and remove an unused TestExpectations._get_options_list member.
1624
1625         Reviewed by Adam Barth.
1626
1627         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
1628
1629 2011-07-15  Dimitri Glazkov  <dglazkov@chromium.org>
1630
1631         Remove the notion of TestExpectationLine.valid, start storing parsing errors in expectations themselves.
1632         https://bugs.webkit.org/show_bug.cgi?id=64554
1633
1634         This moves us toward the world where errors are collected on the expectations, which allows us to
1635         easily enumerate them, keep association with the point of origin, and freely pass TestExpectationLine instances around.
1636
1637         Also eliminate the validator idea, since validation is a context-dependent concept and has to be decoupled from initial
1638         parsing.
1639
1640         Reviewed by Adam Barth.
1641
1642         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Removed TestExpectation.valid, validator,
1643             changed TestExpectationParser to collect errors in TestExpectationLine, refactored surrounding code.
1644         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Changed tests to accommodate changes.
1645         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: Ditto.
1646
1647 2011-07-15  Adam Roben  <aroben@apple.com>
1648
1649         Rename TestFailureBugForm to FailingTestsBugForm
1650
1651         The new name will match better with a forthcoming FlakyTestBugForm class.
1652
1653         Fixes <http://webkit.org/b/64598> TestFailures page's TestFailureBugForm class has a bad
1654         name
1655
1656         Reviewed by Daniel Bates.
1657
1658         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm.js: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm.js.
1659         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FailingTestsBugForm_unittests.js: Renamed from Tools/BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm_unittests.js.
1660
1661         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
1662         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
1663         Updated for renames.
1664
1665         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Ditto, and
1666         reordered <script>s to put files which others depend on for parsing first.
1667
1668 2011-07-15  Adam Barth  <abarth@webkit.org>
1669
1670         NRWT stores the Chromium revision number in full_results.json
1671         https://bugs.webkit.org/show_bug.cgi?id=64586
1672
1673         I have no earthly idea how to test this change.
1674
1675         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1676         * Scripts/webkitpy/layout_tests/port/base.py:
1677
1678 2011-07-14  Ojan Vafai  <ojan@chromium.org>
1679
1680         fix remaining style issues in the static-dashboards directory
1681         https://bugs.webkit.org/show_bug.cgi?id=64561
1682
1683         Reviewed by Adam Barth.
1684
1685         * TestResultServer/static-dashboards/aggregate_results.html:
1686         * TestResultServer/static-dashboards/builders.js:
1687         * TestResultServer/static-dashboards/dashboard_base.js:
1688         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
1689         * TestResultServer/static-dashboards/timeline_explorer.html:
1690         * TestResultServer/static-dashboards/treemap.html:
1691
1692 2011-07-14  Yuta Kitamura  <yutak@chromium.org>
1693
1694         WebSocket: Introduce pywebsocket-0.6b2
1695         https://bugs.webkit.org/show_bug.cgi?id=64534
1696
1697         Reviewed by Kent Tamura.
1698
1699         * Scripts/webkitpy/thirdparty/__init__.py:
1700
1701 2011-07-14  Dimitri Glazkov  <dglazkov@chromium.org>
1702
1703         Introduce TestExpectationsModel, split out of TestExpectations.
1704         https://bugs.webkit.org/show_bug.cgi?id=64531
1705
1706         This is a simple split-and-make-work refactoring, a first step among many.
1707
1708         Reviewed by Adam Barth.
1709
1710         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Moved all model-related members
1711             out of TestExpectations and into TestExpectationsModel.
1712
1713 2011-07-14  Eric Seidel  <eric@webkit.org>
1714
1715         Move webkitpy off of loose mocks
1716         https://bugs.webkit.org/show_bug.cgi?id=64508
1717
1718         Unreviewed.  Fixing a test which fails under test-webkitpy --all (but not in a normal run).
1719
1720         * Scripts/webkitpy/common/checkout/scm/git.py:
1721
1722 2011-07-14  Adam Barth  <abarth@webkit.org>
1723
1724         garden-o-matic should have a "rebaseline" button
1725         https://bugs.webkit.org/show_bug.cgi?id=64446
1726
1727         Reviewed by Ojan Vafai.
1728
1729         This patch adds a basic Rebaseline button that copies the baselines
1730         displayed in the results pane into the appropriate directory in your
1731         working copy.
1732
1733         There are two main limitations:
1734
1735         1) There is no UI for actually committing the baselines.
1736
1737         2) The baselines are not optimized for redundancy (meaning you can have
1738            identical baselines in both chromium-mac and chromium-win).
1739
1740         * Scripts/webkitpy/tool/commands/rebaseline.py:
1741             - Turns out we need to create the directory for the baseline if it doesn't exist yet.
1742         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js:
1743             - Add an programatic API to call the server.
1744         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
1745             - Add the rebaseline button itself.
1746         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1747             - Change the CSS so that the Rebaseline and Close buttons can
1748               appear in the normal order in the DOM.
1749         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1750             - Bind the event and translate the parameters.
1751             - Hide/show the rebaseline button, as appropriate.
1752         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
1753             - Add some helpful utility functions for manipulating failure types.
1754         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
1755
1756 2011-07-14  Ryosuke Niwa  <rniwa@webkit.org>
1757
1758         REGRESSION: webkit-patch roll-chromium-deps is broken
1759         https://bugs.webkit.org/show_bug.cgi?id=64568
1760
1761         Reviewed by Dirk Pranke
1762
1763         Use _filesystem.join.
1764
1765         * Scripts/webkitpy/common/checkout/checkout.py:
1766         * Scripts/webkitpy/common/checkout/checkout_unittests.py:
1767
1768 2011-07-14  Noam Rosenthal  <noam.rosenthal@nokia.com>
1769
1770         Adding myself to the reviewers list; No review needed.
1771
1772         * Scripts/webkitpy/common/config/committers.py:
1773
1774 2011-07-14  Adam Roben  <aroben@apple.com>
1775
1776         Don't use Element.prototype.classList in TestFailures
1777
1778         Safari 5 doesn't support it.
1779
1780         Fixes <http://webkit.org/b/64550> Can't expand flaky tests on TestFailures page in Safari 5
1781
1782         Reviewed by Daniel Bates.
1783
1784         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Utilities.js:
1785         (Element.prototype.hasStyleClass):
1786         (Element.prototype.addStyleClass):
1787         (Element.prototype.removeStyleClass):
1788         (Element.prototype.toggleStyleClass):
1789         Added these helper functions which simulate classList functionality.
1790
1791         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Utilities_unittests.js:
1792         Added. Tests for the above.
1793
1794         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
1795         (ViewController.prototype._domForPossiblyFlakyTests): Changed to use
1796         toggleStyleClass/hasStyleClass instead of classList.
1797
1798         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
1799         Added Utilities_unittests.js, and reordered the tested files to be in
1800         roughly dependency order (i.e., the lowest-level files are imported
1801         and tested first).
1802
1803 2011-07-14  Eric Seidel  <eric@webkit.org>
1804
1805         NRWT doesn't store the svn revision in full_results.json on chromium-win
1806         https://bugs.webkit.org/show_bug.cgi?id=64492
1807
1808         Unreviewed.  Just fixing my test-webkitpy regression.
1809
1810         Fix the unit tests.  Unfortunately scm does not use a filesystem
1811         object so we can't control the result of detect_scm_system.
1812         When detect_scm_system would fail, we would log, which would
1813         cause all passing_run integration tests to fail.
1814
1815         * Scripts/webkitpy/common/checkout/scm/scm.py:
1816         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1817         * Scripts/webkitpy/layout_tests/port/base.py:
1818         * Scripts/webkitpy/layout_tests/port/test.py:
1819         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
1820
1821 2011-07-14  Eric Seidel  <eric@webkit.org>
1822
1823         NRWT doesn't store the svn revision in full_results.json on chromium-win
1824         https://bugs.webkit.org/show_bug.cgi?id=64492
1825
1826         Reviewed by Ojan Vafai.
1827
1828         This should fix the bug.  Unfortunately this code is currently
1829         impossible to test since it's impossible to mock detect_scm_system at the
1830         moment.  I started re-writing scm.detection.py to be mockable, but decided that
1831         was best left for another day.
1832
1833         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1834         * Scripts/webkitpy/layout_tests/port/base.py:
1835
1836 2011-07-14  Ojan Vafai  <ojan@chromium.org>
1837
1838         fix coding style of dashboard_base.js
1839         https://bugs.webkit.org/show_bug.cgi?id=64545
1840
1841         Reviewed by Adam Roben.
1842
1843         The code changes to the files other than dashboard_base.js
1844         are just fallout from renaming globals in dashboard_base.js.
1845
1846         * TestResultServer/static-dashboards/aggregate_results.html:
1847         * TestResultServer/static-dashboards/builders.js:
1848         * TestResultServer/static-dashboards/dashboard_base.js:
1849         * TestResultServer/static-dashboards/flakiness_dashboard.html:
1850         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
1851         * TestResultServer/static-dashboards/timeline_explorer.html:
1852         * TestResultServer/static-dashboards/treemap.html:
1853
1854 2011-07-14  Carlos Garcia Campos  <cgarcia@igalia.com>
1855
1856         Unreviewed. Fix WebKit2 GTK build after r90953.
1857
1858         * WebKitTestRunner/GNUmakefile.am:
1859
1860 2011-07-14  Adam Barth  <abarth@webkit.org>
1861
1862         garden-o-matic results pane should be more discoverable
1863         https://bugs.webkit.org/show_bug.cgi?id=64513
1864
1865         Reviewed by Eric Seidel.
1866
1867         This patch causes us to trigger the results pane on mouse clicks
1868         instead of mousein.  Also, handle the case of no results details more
1869         elegantly.
1870
1871         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1872         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
1873             - Change the binding to "click".
1874         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
1875             - Handle the "no results URLs" case explicitly instead of never
1876               calling the callback.
1877         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
1878         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
1879             - Show a message when there are no result details to show.
1880         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
1881
1882 2011-07-14  Adam Barth  <abarth@webkit.org>
1883
1884         garden-o-matic should badge TIMEOUT failures
1885         https://bugs.webkit.org/show_bug.cgi?id=64435
1886
1887         Reviewed by Eric Seidel.
1888
1889         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
1890         (.regression .what a[draggable].TIMEOUT::before):
1891             - Add TIMEOUT.
1892
1893 2011-07-14  Adam Barth  <abarth@webkit.org>
1894
1895         Fix Python exception blocking the commit-queue.
1896
1897         * Scripts/webkitpy/common/checkout/scm/git.py:
1898
1899 2011-07-13  Eric Seidel  <eric@webkit.org>
1900
1901         Move webkitpy off of loose mocks
1902         https://bugs.webkit.org/show_bug.cgi?id=64508
1903
1904         Reviewed by Adam Barth.
1905
1906         Using Mock has caused us more pain than help.
1907         It's possible that there was a cleaner way to use it
1908         (maybe Mock(class) instead of inheriting from it?).
1909         But for now, I've removed all uses of Mock from mocktool.py.
1910
1911         I also moved run_command into the only 3 files which call it
1912         instead of leaving the deprecated method in executive.py.
1913
1914         I changed various direct calls to os.* to use filesystem instead.
1915
1916         * Scripts/webkitpy/common/checkout/checkout.py:
1917         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
1918         * Scripts/webkitpy/common/checkout/scm/git.py:
1919         * Scripts/webkitpy/common/checkout/scm/scm.py:
1920         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1921         * Scripts/webkitpy/common/checkout/scm/svn.py:
1922         * Scripts/webkitpy/common/system/executive.py:
1923         * Scripts/webkitpy/common/system/executive_unittest.py:
1924         * Scripts/webkitpy/tool/mocktool.py:
1925         * Scripts/webkitpy/tool/steps/cleanworkingdirectory_unittest.py:
1926         * Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:
1927
1928 2011-07-13  Eric Seidel  <eric@webkit.org>
1929
1930         NRWT doesn't store the svn revision in full_results.json on chromium-win
1931         https://bugs.webkit.org/show_bug.cgi?id=64492
1932
1933         Reviewed by Adam Barth.
1934
1935         Add a warning message in the revision='' case to help us diagnose
1936         what's going wrong on the bot.
1937
1938         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1939
1940 2011-07-13  Dirk Pranke  <dpranke@chromium.org>
1941
1942         new-run-webkit-tests: print baseline search path as part of config output
1943         https://bugs.webkit.org/show_bug.cgi?id=64499
1944
1945         Reviewed by Eric Seidel.
1946
1947         * Scripts/webkitpy/layout_tests/controllers/manager.py:
1948         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
1949
1950 2011-07-13  Adam Barth  <abarth@webkit.org>
1951
1952         gardening server should have an API for parsing changelogs
1953         https://bugs.webkit.org/show_bug.cgi?id=64495
1954
1955         Reviewed by Eric Seidel.
1956
1957         This patch exposes much of the same information from CommitInfo in a
1958         dictionary form, which is easier to send over-the-wire as JSON to the
1959         frontend.
1960
1961         * Scripts/webkitpy/common/checkout/checkout.py:
1962         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
1963         * Scripts/webkitpy/tool/mocktool.py:
1964         * Scripts/webkitpy/tool/servers/gardeningserver.py:
1965         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
1966         * Scripts/webkitpy/tool/servers/reflectionhandler.py:
1967
1968 2011-07-13  Eric Seidel  <eric@webkit.org>
1969
1970         REGRESSION: GitTestWithMock.test_create_patch fails
1971         https://bugs.webkit.org/show_bug.cgi?id=62945
1972
1973         Reviewed by Daniel Bates.
1974
1975         I was not able to reproduce the exact failure seen in the bug,
1976         however this test was failing on my machine for other reasons.
1977
1978         I went through and did an audit of our run_command usage, it's
1979         entirely in scm classes after this change.  (Not surprising given
1980         that scm.py was the second file ever created in webkit.py.)
1981
1982         The real bug I'm fixing here is that we were setting executive.should_log
1983         when the value had changed to executive._should_log.  Now we set the right one
1984         and the test works again.
1985
1986         * Scripts/webkitpy/common/checkout/checkout.py:
1987         * Scripts/webkitpy/common/checkout/scm/git.py:
1988         * Scripts/webkitpy/common/checkout/scm/scm.py:
1989         * Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
1990         * Scripts/webkitpy/common/checkout/scm/svn.py:
1991
1992 2011-07-13  Ilya Sherman  <isherman@chromium.org>
1993
1994         Fix WTF header guard style check
1995         https://bugs.webkit.org/show_bug.cgi?id=64488
1996
1997         Reviewed by David Levin.
1998
1999         * Scripts/webkitpy/style/checkers/cpp.py:
2000         * Scripts/webkitpy/style/checkers/cpp_unittest.py: Verify that we don't *always* suggest "WTF_" as a prefix
2001
2002 2011-07-13  Ojan Vafai  <ojan@chromium.org>
2003
2004         bring flakiness_dashboard.html closer to webkit style
2005         https://bugs.webkit.org/show_bug.cgi?id=64477
2006
2007         Reviewed by Adam Barth.
2008
2009         * TestResultServer/static-dashboards/dashboard_base.js:
2010         Fix bad variable name that would hit only when running the tests.
2011         * TestResultServer/static-dashboards/flakiness_dashboard.html:
2012         No code/logic changes. All moving/removing brackets, indents and moving things
2013         to one line.
2014
2015 2011-07-13  Xan Lopez  <xlopez@igalia.com>
2016
2017         [GTK] Fix distcheck
2018
2019         Reviewed by Martin Robinson.
2020
2021         * WebKitTestRunner/GNUmakefile.am: mark built sources as nodist.
2022
2023 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
2024
2025         Unreviewed fix. Add a "\n" to a printf that somehow got lost.
2026
2027         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
2028         (WebCore::DumpRenderTree::dumpApplicationCacheQuota):
2029
2030 2011-07-13  Joseph Pecoraro  <joepeck@webkit.org>
2031
2032         ApplicationCache Quota Output is Flakey
2033         https://bugs.webkit.org/show_bug.cgi?id=64410
2034
2035         Reviewed by Alexey Proskuryakov.
2036
2037         Unify the delegate logging for reaching application cache
2038         quotas. Truncate the space needed to the nearest 10000
2039         for less flakey test output. This also better supports
2040         printing NSUInteger on non-64 bit systems by casting to
2041         an unsigned long.
2042
2043         * DumpRenderTree/mac/UIDelegate.mm:
2044         (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:]):
2045         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
2046         (WebCore::DumpRenderTree::dumpApplicationCacheQuota):
2047
2048 2011-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
2049
2050         Remove unused TestExpectations._overrides.
2051         https://bugs.webkit.org/show_bug.cgi?id=64470
2052
2053         Reviewed by Adam Barth.
2054
2055         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Removed unused member.
2056
2057 2011-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
2058
2059         Introduce TestExpectationSerializer.list_to_string.
2060         https://bugs.webkit.org/show_bug.cgi?id=64462
2061
2062         Reviewed by Adam Barth.
2063
2064         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Added list_to_string and change the relevant callsite to use it.
2065         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Added tests for it.
2066
2067 2011-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
2068
2069         Consolidate expectations parsing code.
2070         https://bugs.webkit.org/show_bug.cgi?id=64460
2071
2072         Reviewed by Adam Barth.
2073
2074         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Folded TestExpectationParser._split_expectation_string into TestExpectationParser.parse.
2075
2076 2011-07-12  Brent Fulgham  <bfulgham@webkit.org>
2077
2078         Standardize WinCairo conditionalized code under PLATFORM macro.
2079         https://bugs.webkit.org/show_bug.cgi?id=64377
2080
2081         Reviewed by Maciej Stachowiak.
2082
2083         Update compile-time conditions that had previously used #ifdef
2084         of WIN_CAIRO to consistently use PLATFORM(WIN_CAIRO).
2085
2086         * DumpRenderTree/config.h: Switch to PLATFORM(WIN_CAIRO)
2087         * DumpRenderTree/win/DumpRenderTreeCairo.vsprops: Remove redundant
2088           define of WIN_CAIRO=1.
2089         * DumpRenderTree/win/DumpRenderTreeDebugCairoCFLite.vsprops: Add
2090           WinCairo.vsprops to set (to match Release build).
2091
2092 2011-07-13  Dimitri Glazkov  <dglazkov@chromium.org>
2093
2094         Eliminate TestExpectationsFile.
2095         https://bugs.webkit.org/show_bug.cgi?id=64458
2096
2097         Turns out, we can just use a Python list.
2098
2099         Reviewed by Adam Barth.
2100
2101         * Scripts/webkitpy/layout_tests/models/test_expectations.py: Folded TestExpectationsFile.append into TestExpectationParser.parse_list,
2102             removed TestExpectationsFile.
2103         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Moved tests to better reflect new names, removed iterator test,
2104             since there's no more custom iterator machinery.
2105
2106 2011-07-13  Philippe Normand  <pnormand@igalia.com>
2107
2108         Unreviewed, added my other email addresses.
2109
2110         * Scripts/webkitpy/common/config/committers.py:
2111
2112 2011-07-13  Adam Barth  <abarth@webkit.org>
2113
2114         Folks should only be listed once.
2115
2116         * Scripts/webkitpy/common/config/committers.py:
2117
2118 2011-07-13  Philippe Normand  <pnormand@igalia.com>
2119
2120         Unreviewed, adding myself as Reviewer.
2121
2122         * Scripts/webkitpy/common/config/committers.py:
2123
2124 2011-07-13  Adam Barth  <abarth@webkit.org>
2125
2126         Fix flickering bug introduced by my previous patch.  I forgot to change
2127         the name of the class everywhere.
2128
2129         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2130
2131 2011-07-12  Philippe Normand  <pnormand@igalia.com>
2132
2133         [GTK] media/media-blocked-by-willsendrequest.html fails
2134         https://bugs.webkit.org/show_bug.cgi?id=63699
2135
2136         Reviewed by Martin Robinson.
2137
2138         * DumpRenderTree/gtk/DumpRenderTree.cpp:
2139         (willSendRequestCallback): Abort the request if explicitely asked
2140         by the LayoutTestController's willSendRequestReturnsNull() function.
2141
2142 2011-07-13  Adam Barth  <abarth@webkit.org>
2143
2144         Remove "Dismiss" button from garden-o-matic butterbar
2145         https://bugs.webkit.org/show_bug.cgi?id=64443
2146
2147         Reviewed by Dimitri Glazkov.
2148
2149         We don't have any persistent butter bar messages yet, so the dismiss
2150         button is premature (and fairly heavy, visually).
2151
2152         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
2153         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2154
2155 2011-07-13  Adam Barth  <abarth@webkit.org>
2156
2157         Refine garden-o-matic status pane
2158         https://bugs.webkit.org/show_bug.cgi?id=64442
2159
2160         Reviewed by Dimitri Glazkov.
2161
2162         This patch makes two improvements to the status pane:
2163
2164         1) We only query the server for failure types that we're expecting.
2165            This dramatically reduces the number of HTTP requests, making
2166            loading the status pane faster.
2167
2168         2) The status pane now displays which test and which builder it is
2169            showing results for.
2170
2171         * Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
2172         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
2173         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2174         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2175         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2176         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2177         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2178
2179 2011-07-13  Adam Barth  <abarth@webkit.org>
2180
2181         garden-o-matic should show test results
2182         https://bugs.webkit.org/show_bug.cgi?id=64440
2183
2184         Reviewed by Adam Roben.
2185
2186         This patch introduces the results detail pane, which appears at the
2187         bottom of the window and contains test results from the bots.
2188         Currently, you can activate the pane by mousing over one of the builder
2189         names associated with a failing test.
2190
2191         This is just a first iteration of the UI.  There's no way to resize or
2192         zoom in on elements of the details pane, and images likely aren't sized
2193         correctly, but it's a place to start.
2194
2195         * Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
2196             - Add constants for our data attributes so we don't typo them!
2197         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
2198             - Add DOM structure for the details pane.
2199         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2200         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2201             - Bind events for showing and hiding the details pane.
2202         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2203             - Reduce the number of result types that we query for to avoid
2204               overfilling the details pane.  We'll probably need another
2205               solution here in the long-term.  For example, we could use tabs
2206               to pack more results into the pane.
2207         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2208         * Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html:
2209             - Now that we're using the config package during testing, we need
2210               to include it in the testing HTML.
2211         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2212         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2213             - Change the DOM structure of the results detail to make it fit
2214               nicely in the details pane (rather than flowing freely in the
2215               body, as it did before).
2216
2217 2011-07-13  Adam Roben  <aroben@apple.com>
2218
2219         Make TestFailures show every time a possibly-flaky test failed, but hide it by default
2220
2221         It's useful to be able to see every time a flaky test failed to see whether it failed the
2222         same way every time. But doing so takes a lot of space, so the list of failures is now
2223         collapsed by default and can be revealed using a disclosure triangle.
2224
2225         Fixes <http://webkit.org/b/64455> TestFailures page doesn't show as much information for
2226         flaky tests as I would like, even though the page is already so long
2227
2228         Reviewed by Dimitri Glazkov.
2229
2230         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js:
2231         (FlakyLayoutTestDetector.prototype.allFailures): Replaced flakinessExamples with this
2232         function. Now returns all failures for the given test.
2233
2234         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector_unittests.js:
2235         Added. This just contains some simple tests of the FlakyLayoutTestDetector class. We'll add
2236         more over time.
2237
2238         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestHistoryAnalyzer.js:
2239         (LayoutTestHistoryAnalyzer.prototype.start): Updated the documentation comment to reflect
2240         that we no longer return passing builds for possibly-flaky tests.
2241
2242         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
2243         (.existing-bugs-list, .suspect-revisions-list, .flakiness-examples-list): Make the list of
2244         flakiness examples small, too, since it can get quite long.
2245
2246         (.disclosure-triangle):
2247         (.expanded > .disclosure-triangle):
2248         Simple styles for the disclosure triangle.
2249
2250         (.flakiness-examples-list): Collapse the list by default.
2251
2252         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
2253         (ViewController.prototype._displayBuilder): Pass the total number of builds analyzed to
2254         _domForPossiblyFlakyTests.
2255         (ViewController.prototype._domForPossiblyFlakyTests): Put a disclosure triangle to the left
2256         of each test name, and the number of failures to the right. When the disclosure triangle is
2257         clicked for the first time, we build up the list of failures and expand the element. After
2258         that we just collapse or expand the element on subsequent clicks.
2259
2260         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
2261         Pulled in new tests.
2262
2263 2011-07-13  Adam Roben  <aroben@apple.com>
2264         
2265         Teach TestFailures to understand NRWT's output when it exits early due to too many failures
2266
2267         Fixes <http://webkit.org/b/64456> TestFailures page reports way too many failures when NRWT
2268         exits early
2269
2270         Reviewed by Dimitri Glazkov.
2271
2272         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
2273         (Builder.prototype.getNumberOfFailingTests): Relaxed the "Exiting early" test not to require
2274         it to be at the beginning of the line, since NRWT prints a bunch of junk earlier in the
2275         line. Tightened up the regex that's used to parse the number of failing tests to require the
2276         leading number to be followed by whitespace so that we won't parse the "2011" in
2277         "2011-07-13" as a number of failures.
2278
2279         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
2280         Added a test for the above.
2281
2282 2011-07-12  Dimitri Glazkov  <dglazkov@chromium.org>
2283
2284         Extract model-like TestExpectationLine and TestExpectationFile from TestExpectations.
2285         https://bugs.webkit.org/show_bug.cgi?id=64386
2286
2287         This is the first step in converting TestExpectations to a real model.
2288         * TestExpectationsLine represents a line in the test_expectations.txt file, and
2289         * TestExpectationsFile represents the file, which is a collection of lines.
2290
2291         Reviewed by Adam Barth.
2292
2293         * Scripts/webkitpy/layout_tests/models/test_expectations.py:
2294         * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
2295         * Scripts/webkitpy/style/checkers/test_expectations_unittest.py:
2296
2297 2011-07-13  Xan Lopez  <xlopez@igalia.com>
2298
2299         [GTK] Do not grab focus too early in DRT.
2300
2301         Reviewed by Gustavo Noronha.
2302
2303         It causes a layout to happen and a progress signal to be emitted
2304         since r90900, but at this point we don't have a
2305         LayoutTestController object and we'll eventually crash. Since we
2306         already grab focus at the beginning of runTest() this is
2307         redundant, so get rid of it to fix the crash.
2308
2309         * DumpRenderTree/gtk/DumpRenderTree.cpp:
2310         (main): remove call to grab_focus
2311
2312 2011-07-13  Sheriff Bot  <webkit.review.bot@gmail.com>
2313
2314         Unreviewed, rolling out r90893 and r90894.
2315         http://trac.webkit.org/changeset/90893
2316         http://trac.webkit.org/changeset/90894
2317         https://bugs.webkit.org/show_bug.cgi?id=64441
2318
2319         NRWT still doesn't work on qt-mac platform (Requested by Ossy
2320         on #webkit).
2321
2322         * Scripts/run-webkit-tests:
2323         (useNewRunWebKitTests):
2324
2325 2011-07-13  Csaba Osztrogonác  <ossy@webkit.org>
2326
2327         [Qt] NRWT should pick up the right httpd config file
2328         https://bugs.webkit.org/show_bug.cgi?id=64086
2329
2330         * Scripts/run-webkit-tests: Enable NRWT on qt-mac platform after r90810.
2331         (useNewRunWebKitTests):
2332
2333 2011-07-12  Mark Rowe  <mrowe@apple.com>
2334
2335         Fix the 32-bit build.
2336
2337         * DumpRenderTree/mac/UIDelegate.mm:
2338         (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:totalSpaceNeeded:]):
2339         Cast the NSUInteger value to unsigned long to match the format specifier.
2340
2341 2011-07-12  Adam Barth  <abarth@webkit.org>
2342
2343         Improve garden-o-matic UI when the bots fail to report revision numbers
2344         https://bugs.webkit.org/show_bug.cgi?id=64427
2345
2346         Reviewed by Dimitri Glazkov.
2347
2348         At least Win (dbg)(2) seems to fail to report the SVN revision number
2349         in full_results.json.  This patch makes garden-o-matic more robust to
2350         missing revision numbers.
2351
2352         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2353         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2354         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2355         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2356         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2357
2358 2011-07-12  Adam Barth  <abarth@webkit.org>
2359
2360         Adjust garden-o-matic layout to use fewer lines
2361         https://bugs.webkit.org/show_bug.cgi?id=64422
2362
2363         Reviewed by Ojan Vafai.
2364
2365         This patch effectively merges the test name line with the list of
2366         builders on which the test fails.  Each test failure now occupies two
2367         lines instead of three.
2368
2369         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2370         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2371         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2372
2373 2011-07-12  Adam Barth  <abarth@webkit.org>
2374
2375         garden-o-matic should label tests failures of new tests as such
2376         https://bugs.webkit.org/show_bug.cgi?id=64421
2377
2378         Reviewed by Ojan Vafai.
2379
2380         Also, we shouldn't dim failures of new tests, even if we've only seen
2381         them once because they're likely to be real problems that need
2382         attention.
2383
2384         * Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
2385         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout.js: Added.
2386         * Scripts/webkitpy/tool/servers/data/gardeningserver/checkout_unittests.js: Added.
2387         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
2388         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2389         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2390         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2391         * Scripts/webkitpy/tool/servers/data/gardeningserver/run-unittests.html:
2392         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2393         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2394
2395 2011-07-12  Adam Barth  <abarth@webkit.org>
2396
2397         garden-o-matic should display how many times we've seen a failure
2398         https://bugs.webkit.org/show_bug.cgi?id=64417
2399
2400         Reviewed by Ojan Vafai.
2401
2402         This patch adds some UI to display how many times we've seen a given
2403         failure, which can be helpful for determining whether that failure is a
2404         real failure or a flaky test.
2405
2406         When a failure has only been seen once (i.e., only a single run on a
2407         single bot), we set the opacity of to 50% to avoid distracting the
2408         gardener.
2409
2410         This patch also refactors the failure walker to have a simpler API
2411         internally by moving from an object-oriented paradigm to a functional
2412         paradigm.
2413
2414         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2415         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2416         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2417         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2418         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2419         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2420
2421 2011-07-12  Chris Rogers  <crogers@google.com>
2422
2423         Enable Web Audio for chromium DRT
2424         https://bugs.webkit.org/show_bug.cgi?id=64409
2425
2426         Reviewed by James Robinson.
2427
2428         * DumpRenderTree/chromium/TestShell.cpp:
2429         (TestShell::TestShell):
2430
2431 2011-07-12  Adam Barth  <abarth@webkit.org>
2432
2433         Tweak some UI in garden-o-matic now that the tree actually has a
2434         failure and I can see what this all looks like.
2435
2436         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2437         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2438         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2439
2440 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
2441
2442         Unreviewed. Skipping a few tests which fail due to differing output
2443         in recent ApplicationCache quota tests. Reenabling the tests is
2444         tracked by <http://webkit.org/b/64410>.
2445
2446         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
2447         (WebCore::DumpRenderTree::dumpApplicationCacheQuota): This should
2448         have been a space, not a newline.
2449
2450 2011-07-12  Adam Barth  <abarth@webkit.org>
2451
2452         garden-o-matic should display regression ranges
2453         https://bugs.webkit.org/show_bug.cgi?id=64407
2454
2455         Reviewed by Dimitri Glazkov.
2456
2457         This patch computes a regression range for a failure by intersecting
2458         the regression ranges seen by the various bots.  We make the underlying
2459         assumption that a test is only failing due to one revision at any given
2460         moment.  If that's not true, this code probably explodes.
2461
2462         The regression ranges appear asynchronously, which might be a jarring
2463         UI.  We'll have to experiment to see.
2464
2465         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
2466         * Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
2467         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2468         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2469         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2470         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2471         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2472
2473 2011-07-12  Adam Barth  <abarth@webkit.org>
2474
2475         cr-linux-ews should run pixel tests
2476         https://bugs.webkit.org/show_bug.cgi?id=64394
2477
2478         Reviewed by Ojan Vafai.
2479
2480         This patch enabled pixel test on the cr-linux-ews.  Running a quick
2481         test on the bots, it looks like we have five pixel failures, related to
2482         some missing fonts.  I've also made the bots skip failing tests to
2483         avoid uploading huge zip files to bugs.webkit.org (with all the exected
2484         IMAGE failures).
2485
2486         * Scripts/webkitpy/common/config/ports.py:
2487         * Scripts/webkitpy/common/config/ports_unittest.py:
2488
2489 2011-07-12  Joseph Pecoraro  <joepeck@webkit.org>
2490
2491         ApplicationCache update should not immediately fail when reaching per-origin quota
2492         https://bugs.webkit.org/show_bug.cgi?id=64177
2493
2494         Reviewed by Alexey Proskuryakov.
2495
2496         Add layoutTestController.disallowIncreaseForApplicationCacheQuota()
2497         to disable the default behavior of raising the default per-origin
2498         quota to 5MB when reached. This allows us to test what happens
2499         when the quota is reached and not increased.
2500
2501         * DumpRenderTree/LayoutTestController.cpp:
2502         (LayoutTestController::LayoutTestController):
2503         (disallowIncreaseForApplicationCacheQuotaCallback):
2504         (LayoutTestController::staticFunctions):
2505         * DumpRenderTree/LayoutTestController.h:
2506         (LayoutTestController::disallowIncreaseForApplicationCacheQuota):
2507         (LayoutTestController::setDisallowIncreaseForApplicationCacheQuota):
2508         * DumpRenderTree/qt/LayoutTestControllerQt.cpp:
2509         (LayoutTestController::reset):
2510         * DumpRenderTree/qt/LayoutTestControllerQt.h:
2511         (LayoutTestController::disallowIncreaseForApplicationCacheQuota):
2512         (LayoutTestController::dumpApplicationCacheDelegateCallbacks):
2513         Expose a function to prevent automatically increasing the per-origin
2514         quota when the quota is reached. This allows us to test what happens
2515         when a user would "disallow" a quota increase.
2516
2517         * DumpRenderTree/mac/UIDelegate.mm:
2518         (-[UIDelegate webView:exceededApplicationCacheOriginQuotaForSecurityOrigin:spaceNeeded:]):
2519         * DumpRenderTree/qt/DumpRenderTreeQt.cpp:
2520         (WebCore::DumpRenderTree::dumpApplicationCacheQuota):
2521         Respect the new disallowIncrease flag and dump the spaceNeeded values
2522         for ports that implement application cache quotas.
2523
2524 2011-07-12  Ojan Vafai  <ojan@chromium.org>
2525
2526         fix flakiness dashboard to work with new crash log filenames
2527         https://bugs.webkit.org/show_bug.cgi?id=64393
2528
2529         Reviewed by Adam Barth.
2530
2531         * TestResultServer/static-dashboards/flakiness_dashboard.html:
2532
2533 2011-07-12  Adam Barth  <abarth@webkit.org>
2534
2535         Add a happy animation to garden-o-matic when there are no failures
2536         https://bugs.webkit.org/show_bug.cgi?id=64382
2537
2538         Reviewed by Ojan Vafai.
2539
2540         As requested by Ojan.
2541
2542         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
2543         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2544         * Scripts/webkitpy/tool/servers/data/gardeningserver/partytime.gif: Added.
2545         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2546
2547 2011-07-12  Adam Barth  <abarth@webkit.org>
2548
2549         sheriffbot can't perform rollouts
2550         https://bugs.webkit.org/show_bug.cgi?id=64370
2551
2552         Reviewed by Eric Seidel.
2553
2554         Now that we're not updating the working copy before processing every
2555         IRC message, the rollout command needs to update it manually.
2556
2557         * Scripts/webkitpy/tool/bot/irc_command.py:
2558         * Scripts/webkitpy/tool/bot/irc_command_unittest.py:
2559
2560 2011-07-12  Adam Barth  <abarth@webkit.org>
2561
2562         Fix the grammar in the FIXME comment.
2563
2564         * Scripts/webkitpy/common/net/resultsjsonparser.py:
2565
2566 2011-07-12  Eric Seidel  <eric@webkit.org>
2567
2568         NRWT should open test results page with Safari trunk, not the system provided one on Mac
2569         https://bugs.webkit.org/show_bug.cgi?id=64346
2570
2571         Reviewed by Adam Barth.
2572
2573         To fix this I implemented Port.show_results_html_file in Mac, Gtk and Qt ports with
2574         implementations (mostly) matching those found in old-run-webkit-tests.
2575         There are still some minor differences for Qt which Qt hackers may wish to tweak.
2576
2577         I had to add a WebKitPort._port_flag_for_scripts method (similar to flag() in common.config.ports.py)
2578         for the Qt/Gtk ports which always require a flag passed to scripts.
2579
2580         While trying to test this, I found that FactoryTest.test_chromium_gpu_linux
2581         was using a real filesystem (due to assert_platform) which due to
2582         global variables in config.py was causing set-webkit-configuration to have
2583         an affect on unit test results!  So I fixed this by making FactoryTest.assert_port
2584         pass a mock file system whenever calling factory.get.
2585
2586         Unfortunately TestPort was depending on always being passed a None filesystem
2587         and asserting filesystem._tests (only true for unit_test_filesystem()).
2588         So I just removed the FactoryTest.test_test and FactoryTest.test_dryrun tests
2589         deciding that they were pretty much useless anyway.  If others feel strongly
2590         I'm happy to fix this in a different way.
2591
2592         * Scripts/webkitpy/common/system/executive.py:
2593          - default arguments in python are screwy.  They use a single shared
2594            instance, so it's better to use argument=None and then argument = argument or Default()
2595            if you have any chance of mutating (or returning) the default argument.
2596         * Scripts/webkitpy/layout_tests/port/config.py:
2597          - This code is wrong.  We don't need to use a global variable here (as far as I can tell).
2598            I'm not fixing it in this patch, but I've marked it with a FIXME and we can convert to
2599            storing the results of the read on the Config object (which should only be created once during normal operation).
2600            Unit tests shouldn't be hitting the disk anyway.  It's possible Config should move off of Port and onto Tool/Host directly.
2601         * Scripts/webkitpy/layout_tests/port/factory.py:
2602         * Scripts/webkitpy/layout_tests/port/factory_unittest.py:
2603         * Scripts/webkitpy/layout_tests/port/gtk.py:
2604         * Scripts/webkitpy/layout_tests/port/gtk_unittest.py: Added.
2605         * Scripts/webkitpy/layout_tests/port/mac.py:
2606         * Scripts/webkitpy/layout_tests/port/mac_unittest.py:
2607         * Scripts/webkitpy/layout_tests/port/qt.py:
2608         * Scripts/webkitpy/layout_tests/port/qt_unittest.py:
2609         * Scripts/webkitpy/layout_tests/port/webkit.py:
2610
2611 2011-07-12  Adam Roben  <aroben@apple.com>
2612
2613         Teach TestFailures to recognize when run-webkit-tests gets killed by buildbot
2614
2615         Fixes <http://webkit.org/b/64358> TestFailures page thinks all tests passed in
2616         http://build.webkit.org/builders/Windows%207%20Release%20(Tests)/builds/14672
2617
2618         Reviewed by Daniel Bates.
2619
2620         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
2621         (Builder.prototype.getNumberOfFailingTests): If run-webkit-tests exited with a non-zero
2622         exit status but we didn't find any failure counts, assume that there was some error that
2623         caused run-webkit-tests to die early (like being killed by buildbot due to a timeout).
2624
2625         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
2626         Added a new test that shows that we get a failingTestCount of -1 when run-webkit-tests dies
2627         early.
2628         (runGetNumberOfFailingTestsTest): Moved most code here from the only pre-existing test in this
2629         file.
2630
2631         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js:
2632         (LayoutTestResultsLoader.prototype.start): Bump the cache number so old cached data that was
2633         tainted by the bug fixed in this patch will be evicted.
2634
2635 2011-07-12  Adam Barth  <abarth@webkit.org>
2636
2637         cr-linux-ews complains about tests that aren't actually failing
2638         https://bugs.webkit.org/show_bug.cgi?id=64367
2639
2640         The underlying problem here is that full_results.json doesn't have
2641         enough information to determine whether a given test result was
2642         expected because whether an actual result is expected depends on
2643         whether full_results.json was generated duing a test run that included
2644         pixel tests.
2645
2646         The right long-term solution is to make full_results.json a complete
2647         description of what happened durning a test run.  In this patch
2648         however, to stop the spam, this patch makes the jsonresultsparser
2649         ignore pixel failures.
2650
2651         (I'm landing this patch unreviewed in order to stop the bots from
2652         spamming.  I'll happily address any review comments in a follow-up
2653         patch.)
2654
2655         * Scripts/webkitpy/common/net/resultsjsonparser.py:
2656         * Scripts/webkitpy/common/net/resultsjsonparser_unittest.py:
2657
2658 2011-07-12  Adam Barth  <abarth@webkit.org>
2659
2660         Re-work garden-o-matic UI to begin to look like the mocks
2661         https://bugs.webkit.org/show_bug.cgi?id=64334
2662
2663         Reviewed by Dimitri Glazkov.
2664
2665         This patch changes how we display failures to be more like the mock the
2666         dglazkov made. We now can display the same information much more
2667         compactly.
2668
2669         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
2670         * Scripts/webkitpy/tool/servers/data/gardeningserver/base_unittests.js:
2671         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
2672         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.css: Added.
2673         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2674         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2675         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2676         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2677         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2678         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2679
2680 2011-07-11  Adam Roben  <aroben@apple.com>
2681
2682         Extract TestFailures's bug-filing code into two new classes
2683
2684         Fixes <http://webkit.org/b/64300> TestFailures page's new-bug-filing code is a mess!
2685
2686         Reviewed by Darin Adler and Adam Barth.
2687
2688         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Buildbot.js:
2689         (Buildbot.prototype.resultsDirectoryURL): Changed to return a URI-encoded URL. Otherwise the
2690         URL isn't valid (and it's harder to mock this function).
2691
2692         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Buildbot_unittests.js:
2693         Added. Just tests the above change (for now).
2694
2695         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
2696         Added a license header, enclosed everything in a closure to avoid polluting the global
2697         namespace, changed the test name to actually describe the passing condition, and replaced
2698         uses of equals() with equal(). (The latter is the actual name of the function, and matches
2699         deepEqual, etc.)
2700
2701         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm.js: Added.
2702         (NewBugForm): This class knows how to construct a <form> used for filing new bugs in
2703         Bugzilla based on some parameters.
2704         (NewBugForm.prototype.domElement): Creates and returns the <form> element. Code came from
2705         ViewController.prototype._domForNewAndExistingBugs.
2706
2707         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/NewBugForm_unittests.js:
2708         Added. Tests the above code.
2709
2710         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm.js: Added.
2711         (TestFailureBugForm): This class knows how to construct a <form> element used for filing new
2712         bugs specifically about test failures. Code came from
2713         ViewController.prototype._domForNewAndExistingBugs.
2714         (TestFailureBugForm.prototype.domElement): Slightly customizes the <form> element returned
2715         by NewBugForm.
2716         (TestFailureBugForm.prototype._computeOperatingSystem):
2717         (TestFailureBugForm.prototype._computePlatform):
2718         (TestFailureBugForm.prototype._createBugTitle):
2719         (TestFailureBugForm.prototype._failingResultsHTMLURL):
2720         (TestFailureBugForm.prototype._failingRevision):
2721         (TestFailureBugForm.prototype._passingRevision):
2722         (TestFailureBugForm.prototype._regressionRangeString):
2723         Code came from ViewController.prototype._domForNewAndExistingBugs. I broke it out into
2724         separate functions to break up the rat's nest a bit.
2725
2726         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailureBugForm_unittests.js:
2727         Added. Tests the above code.
2728
2729         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
2730         (ViewController.prototype._domForNewAndExistingBugs): Moved code from here to
2731         TestFailureBugForm/NewBugForm, and changed this code to use a TestFailureBugForm.
2732
2733         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/index.html: Pull in
2734         NewBugForm/TestFailureBugForm.js.
2735
2736         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
2737         Added new tests and required files.
2738
2739 2011-07-12  Adam Roben  <aroben@apple.com>
2740
2741         Test that no intermediate WTF::Strings are created when concatenating with string literals
2742
2743         Test for <http://webkit.org/b/63330> Concatenating string literals and WTF::Strings using
2744         operator+ is suboptimal
2745
2746         Reviewed by Darin Adler.
2747
2748         * TestWebKitAPI/Tests/WTF/StringOperators.cpp: Added.
2749         (TestWebKitAPI::TEST): Test that a bunch of different string concatenation expressions don't
2750         create any intermediate WTF::Strings while they're being evaluated.
2751
2752         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2753         * TestWebKitAPI/win/TestWebKitAPI.vcproj:
2754         Added new file.
2755
2756 2011-07-12  Eric Seidel  <eric@webkit.org>
2757
2758         [Qt] NRWT should pick up the right httpd config file
2759         https://bugs.webkit.org/show_bug.cgi?id=64086
2760
2761         Reviewed by Adam Barth.
2762
2763         This is more fall-out from the Port class inappropriately encapsulating
2764         both platform and port knowledge.  We need to split out some of this
2765         platform knowledge into a separate class which can be better shared
2766         between ports.
2767
2768         The fix was to move all the _path_to_apache_config_file logic down
2769         into the WebKitPort baseclass so that all of the ports can find the
2770         right apache config file, regardless of what platform they may be running on.
2771
2772         I did not move this down into base.Port (even though I considered it).
2773         Chromium duplicates some of this logic, but since they have separate
2774         subclasses for each port-OS combination (e.g. ChromiumMac, ChromiumWin)
2775         they wouldn't notice the change.  Eventually we'll move this logic
2776         out of Port entirely, and then it will be shared by all ports.
2777
2778         I also cleaned up the http-config logic for ORWT while I was there,
2779         although since we're killing that code, I'm happy to revert that part
2780         of the change if changing it is viewed as needlessly risky.
2781
2782         During this cleanup, I noticed that no ports use the "default" httpd.conf
2783         which is left over from Mac OS X Tiger (and old linux distros) which used
2784         Apache 1.3.  I've removed httpd.conf (and associated support in ORWT) since
2785         we no longer support any ports which use this httpd.conf.
2786
2787         * Scripts/webkitperl/httpd.pm:
2788         (getHTTPDConfigPathForTestDirectory):
2789         * Scripts/webkitpy/layout_tests/port/base.py:
2790         * Scripts/webkitpy/layout_tests/port/gtk.py:
2791         * Scripts/webkitpy/layout_tests/port/mac.py:
2792         * Scripts/webkitpy/layout_tests/port/qt.py:
2793         * Scripts/webkitpy/layout_tests/port/webkit.py:
2794         * Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
2795         * Scripts/webkitpy/layout_tests/port/win.py:
2796         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
2797
2798 2011-07-11  Hironori Bono  <hbono@chromium.org>
2799
2800         Reviewed by Adam Roben.
2801
2802         Implement layoutTestController.setTextDirection for WebKit2 and Windows.
2803         https://bugs.webkit.org/show_bug.cgi?id=61931
2804
2805         This change implements layoutTextController.setTextDirection for WebKit2
2806         and Windows so we can run a layout test added by r87770 on them. Each
2807         implementation adds a wrapper function for Editor::setBaseWritingDirection()
2808         so LayoutTestController can call it.
2809
2810         * DumpRenderTree/win/LayoutTestControllerWin.cpp:
2811         (LayoutTestController::setTextDirection): Implemented the binding function
2812         for layoutTestController.setTextDirection (Windows).
2813         * WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
2814         Added a binding function for layoutTestController.setTextDirection (WebKit2).
2815         * WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: ditto.
2816         (WTR::LayoutTestController::setTextDirection):
2817         * WebKitTestRunner/InjectedBundle/LayoutTestController.h: ditto.
2818
2819 2011-07-11  Raphael Kubo da Costa  <kubo@profusion.mobi>
2820
2821         [EFL] ImageDiff: Make sure gEcoreEvas is destroyed at the right time.
2822         https://bugs.webkit.org/show_bug.cgi?id=64293
2823
2824         Reviewed by Kent Tamura.
2825
2826         gEcoreEvas was being destroyed after shutdownEfl() was called, so the
2827         call to ecore_evas_free() failed.
2828
2829         We now shut it down manually before shutdownEfl() is called.
2830
2831         * DumpRenderTree/efl/ImageDiff.cpp:
2832         (main): Destroy gEcoreEvas before shutting down the EFL.
2833
2834 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2835
2836         Make Chromium Mac and Linux tests bot core builders
2837         https://bugs.webkit.org/show_bug.cgi?id=63196
2838
2839         Reviewed by Adam Barth.
2840
2841         Added Chromium Mac and Linux Release Tests bots core builders.
2842
2843         Also rearranged the order of bots so that test bots show up right next to
2844         respective builders.
2845
2846         * BuildSlaveSupport/build.webkit.org-config/config.json:
2847         * Scripts/webkitpy/common/net/buildbot/buildbot.py:
2848         * Scripts/webkitpy/common/net/buildbot/buildbot_unittest.py:
2849
2850 2011-07-11  Raphael Kubo da Costa  <kubo@profusion.mobi>
2851
2852         [EFL] DRT: Add code related to font management.
2853         https://bugs.webkit.org/show_bug.cgi?id=63989
2854
2855         Reviewed by Kent Tamura.
2856
2857         The added files are responsible for managing fontconfig and adding the
2858         fonts required by some layout tests to fontconfig's path.
2859
2860         * DumpRenderTree/efl/FontManagement.cpp: Added.
2861         (getFontDirectories):
2862         (getFontFiles):
2863         (addFontDirectories):
2864         (addFontFiles):
2865         (addFontsToEnvironment):
2866         * DumpRenderTree/efl/FontManagement.h: Added.
2867
2868 2011-07-08  Dirk Pranke  <dpranke@chromium.org>
2869
2870         nrwt: linting fixes
2871         https://bugs.webkit.org/show_bug.cgi?id=64225
2872
2873         Reviewed by Eric Siedel.
2874
2875         Miscellaneous linting fixes. The most notable change is that
2876         we add public attributes for user, executive, filesystem, and
2877         options on the Port object, so we don't have to refer to the
2878         "protected" versions all over the place".
2879
2880         * Scripts/webkitpy/layout_tests/controllers/manager.py:
2881         * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
2882         * Scripts/webkitpy/layout_tests/controllers/message_broker.py:
2883         * Scripts/webkitpy/layout_tests/controllers/message_broker_unittest.py:
2884         * Scripts/webkitpy/layout_tests/controllers/worker.py:
2885         * Scripts/webkitpy/layout_tests/port/base.py:
2886         * Scripts/webkitpy/layout_tests/run_webkit_tests.py:
2887
2888 2011-07-11  Ryosuke Niwa  <rniwa@webkit.org>
2889
2890         webkit-patch roll-chromium-deps no longer works
2891         https://bugs.webkit.org/show_bug.cgi?id=64324
2892
2893         Reviewed by James Robinson.
2894
2895         Lower the minimum commit message length to 10.
2896
2897         * Scripts/webkitpy/tool/steps/commit.py:
2898
2899 2011-07-11  Alice Boxhall  <aboxhall@chromium.org>
2900
2901         Convert json_results_generator.py to output version 4 JSON.
2902         https://bugs.webkit.org/show_bug.cgi?id=60869
2903
2904         Reviewed by Ojan Vafai.
2905
2906         * Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
2907         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:
2908         * Scripts/webkitpy/layout_tests/layout_package/json_results_generator_unittest.py:
2909
2910 2011-07-11  Martin Robinson  <mrobinson@igalia.com>
2911
2912         [GTK] [NRWT] Pixel tests do not work
2913         https://bugs.webkit.org/show_bug.cgi?id=64091
2914
2915         Reviewed by Eric Seidel.
2916
2917         Fix pixel test runs for GTK+ new-run-webkit-tests by exposing the
2918         path to the ImageDiff binary.
2919
2920         * Scripts/webkitpy/layout_tests/port/gtk.py: Implement _path_to_image_diff.
2921
2922 2011-07-11  Dirk Pranke  <dpranke@chromium.org>
2923
2924         Fix hang on win32 in a multiprocessing test that shouldn't have been running.
2925
2926         Unreviewed, build fix.
2927
2928         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
2929
2930 2011-07-11  Adam Roben  <aroben@apple.com>
2931
2932         Don't count leaks as test failures on TestFailures's front page
2933
2934         As a bonus, this patch adds our first unit test.
2935
2936         Fixes <http://webkit.org/b/64303> REGRESSION (r90489): TestFailures page says far more tests
2937         are failing on the Leaks bot than actually are
2938
2939         Reviewed by Adam Barth.
2940
2941         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder.js:
2942         (Builder.prototype.getNumberOfFailingTests): Exclude lines containing "leak" when summing
2943         failure counts.
2944
2945         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Builder_unittests.js:
2946         Added. Contains a simple test to show that leaks aren't counted as test failures.
2947
2948         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
2949         Added. This is the test harness.
2950
2951 2011-06-14  Mike Stegeman  <mrstegeman@gmail.com>
2952
2953         [GTK] Add API to allow setting local storage database path
2954         https://bugs.webkit.org/show_bug.cgi?id=62091
2955
2956         Reviewed by Martin Robinson and Gustavo Noronha.
2957
2958         Expose the path of the localStorage databases through a setting
2959         to allow HTML5 localStorage to be persistent. New setting is:
2960         html5-local-storage-database-path
2961
2962         * DumpRenderTree/gtk/DumpRenderTree.cpp:
2963         (resetDefaultsToConsistentValues):
2964
2965 2011-07-11  Adam Barth  <abarth@webkit.org>
2966
2967         garden-o-matic should be able to rebaseline tests
2968         https://bugs.webkit.org/show_bug.cgi?id=64186
2969
2970         Reviewed by Eric Seidel.
2971
2972         This patch contains a simple HTTP server binding for the
2973         rebaseline-test command.  The frontend will appear in another patch.
2974
2975         * Scripts/webkitpy/tool/servers/gardeningserver.py:
2976         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
2977         * Scripts/webkitpy/tool/servers/reflectionhandler.py:
2978
2979 2011-07-11  Adam Barth  <abarth@webkit.org>
2980
2981         Add some basic UI for showing regression ranges
2982         https://bugs.webkit.org/show_bug.cgi?id=64243
2983
2984         Reviewed by Eric Seidel.
2985
2986         This UI is all temporary.  It exists mostly just to have some buttons
2987         to click to exercise the code.
2988
2989         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
2990         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
2991         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
2992         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
2993         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
2994
2995 2011-07-11  Adam Barth  <abarth@webkit.org>
2996
2997         garden-o-matic should be able to determine which revisions caused a given failure
2998         https://bugs.webkit.org/show_bug.cgi?id=64189
2999
3000         Reviewed by Adam Roben.
3001
3002         Walking the failure history looking for failures turns out to be
3003         slightly tricky because the network requests are asynchronous.
3004         Currently we do all the fetches serially and our cache is unbounded.
3005         We'll probably optimize both those parameters eventually.
3006
3007         This patch also generalizes some functionality in the unit testing
3008         framework to make testing this sort of code easier.
3009
3010         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
3011         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
3012         * Scripts/webkitpy/tool/servers/data/gardeningserver/results_unittests.js:
3013
3014 2011-07-11  Adam Barth  <abarth@webkit.org>
3015
3016         Add a webkit-patch command for rebaselining an individual test
3017         https://bugs.webkit.org/show_bug.cgi?id=64246
3018
3019         Reviewed by Eric Seidel.
3020
3021         This patch introduces a command that's able to rebaseline a single
3022         test.  Currently, the command works only with the build.chromium.org
3023         buildbots, but extending it to work with the build.webkit.org bots
3024         shouldn't be that hard.
3025
3026         A complete rebaseling tool should also include an "optimize baselines"
3027         command (which moves/deletes baselines in order to reduce the number of
3028         expected results files), but that will come in a future patch.
3029
3030         Really BuilderToPort should be merged into builders.py, but I'm going
3031         to save that for a future patch as well.  (We need to stop shaving yaks
3032         at some point.)
3033
3034         * Scripts/webkitpy/tool/commands/rebaseline.py:
3035
3036 2011-07-11  Adam Barth  <abarth@webkit.org>
3037
3038         garden-o-matic should be able to roll out patches
3039         https://bugs.webkit.org/show_bug.cgi?id=64185
3040
3041         Reviewed by Eric Seidel.
3042
3043         This gardening server API is simply a binding to the rollout machinery
3044         already present in webkit-patch.
3045
3046         * Scripts/webkitpy/tool/commands/gardenomatic.py:
3047         * Scripts/webkitpy/tool/servers/gardeningserver.py:
3048         * Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Added.
3049
3050 2011-07-11  Csaba Osztrogonác  <ossy@webkit.org>
3051
3052         [Qt][Mac] Unreviewed fix after r90746.
3053
3054         * Scripts/run-webkit-tests:
3055         (useNewRunWebKitTests): Really disable NRWT for qt-mac platform.
3056
3057 2011-07-11  Adam Roben  <aroben@apple.com>
3058
3059         Teach TestFailures that ORWT's results.html file might be missing due to all tests passing
3060
3061         There are three reasons why we might fail to fetch ORWT's results.html:
3062           - All tests passed, so no results.html was generated
3063           - Some error during the test run caused results.html not to be generated (e.g., ORWT
3064             timed out)
3065           - Some network error occurred when fetching results.html
3066
3067         We were failing to account for the first possibility in some cases. For test runs before
3068         r89610, we first check build.webkit.org/json to determine how many tests failed and whether
3069         ORWT exited early due to too many failures; if all tests passed then we don't fetch
3070         results.html at all. r89610 changed ORWT to put information in results.html about exiting
3071         early due to too many failures, so we no longer needed to check build.webkit.org/json to get
3072         that information, and in r89619 I changed TestFailures to do just that. But I forgot that we
3073         still needed to check build.webkit.org/json to find out if all tests passed!
3074
3075         Now, for test runs after r89610, we check results.html first, and then check
3076         build.webkit.org/json if we fail to fetch results.html. This lets us distinguish between all
3077         tests passing and the error cases.
3078
3079         Fixes <http://webkit.org/b/64280> TestFailures page can't pinpoint that r90699 caused 13
3080         tests to fail on Windows 7 Release (WebKit2 Tests)
3081
3082         Reviewed by David Kilzer.
3083
3084         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js:
3085         (LayoutTestResultsLoader.prototype.start): Bumped the cache version so that old, buggy
3086         cached data will get evicted. We were marking builds where all tests passed as errors!
3087         (LayoutTestResultsLoader.prototype._fetchAndParseORWTResults): Added success/error callback
3088         parameters to the fetchAndParseResultsHTML helper function, and added a similar
3089         fetchNumberOfFailingTests function that fetches data from build.webkit.org/json (code came
3090         from later in the function). For test runs before r89610, we first check
3091         build.webkit.org/json then check results.html. For builds after r89610, we first check
3092         results.html and then check build.webkit.org/json if we couldn't fetch results.html.
3093
3094 2011-07-11  Csaba Osztrogonác  <ossy@webkit.org>
3095
3096         new-run-webkit-tests does not support qt-arm or qt-4.8 results
3097         https://bugs.webkit.org/show_bug.cgi?id=64071
3098
3099         [Qt] NRWT should pick up the right httpd config file
3100         https://bugs.webkit.org/show_bug.cgi?id=64086
3101
3102         Reviewed by Zoltán Herczeg.
3103
3104         * Scripts/run-webkit-tests: Disable NRWT for qt-mac, qt-arm and qt-4.8 platforms until fix.
3105         (useNewRunWebKitTests):
3106
3107 2011-07-11  Kenichi Ishibashi  <bashi@chromium.org>
3108
3109         Add TestNetscapePlugIn/Tests/FormValue.cpp to DRT build files
3110         https://bugs.webkit.org/show_bug.cgi?id=64248
3111
3112         Reviewed by Kent Tamura.
3113
3114         * DumpRenderTree/DumpRenderTree.gypi: Added FormValue.cpp.
3115         * DumpRenderTree/TestNetscapePlugIn/win/TestNetscapePlugin.vcproj: Ditto.
3116         * DumpRenderTree/qt/TestNetscapePlugin/TestNetscapePlugin.pro: Ditto.
3117         * GNUmakefile.am: Ditto.
3118
3119 2011-07-10  Kenichi Ishibashi  <bashi@chromium.org>
3120
3121         Let plugins participate in form submission
3122         https://bugs.webkit.org/show_bug.cgi?id=13061
3123
3124         Adds NPPVformValue support to the testing plugin.
3125
3126         Reviewed by Anders Carlsson.
3127
3128         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj: Added FormValue.cpp
3129         * DumpRenderTree/TestNetScapePlugIn/Tests/FormValue.cpp: Added.
3130         (FormValue::FormValue): Ditto.
3131         (FormValue::NPP_GetValue): Ditto.
3132
3133 2011-07-11  Roland Steiner  <rolandsteiner@chromium.org>
3134
3135         Reviewed by Tony Chang.
3136
3137         Complete functions in filesystem.py
3138         https://bugs.webkit.org/show_bug.cgi?id=63528
3139
3140         - missing text file functions added
3141         - functions sorted
3142         - removed 'append' optional parameters (were unused)
3143         - adapted filesystem_mock in the same way
3144
3145         * Scripts/webkitpy/common/system/filesystem.py:
3146         * Scripts/webkitpy/common/system/filesystem_mock.py:
3147         * Scripts/webkitpy/common/system/filesystem_unittest.py:
3148
3149 2011-07-10  Adam Barth  <abarth@webkit.org>
3150
3151         Clean up style in fallback path calculation
3152         https://bugs.webkit.org/show_bug.cgi?id=64239
3153
3154         Reviewed by Daniel Bates.
3155
3156         * Scripts/webkitpy/layout_tests/port/chromium_linux.py:
3157         * Scripts/webkitpy/layout_tests/port/chromium_win.py:
3158         * Scripts/webkitpy/layout_tests/port/mac.py:
3159         * Scripts/webkitpy/layout_tests/port/win.py:
3160
3161 2011-07-10  Balazs Kelemen  <kbalazs@webkit.org>
3162
3163         [Qt][WK2] Implement the rest of WTR::PlatformWebView
3164         https://bugs.webkit.org/show_bug.cgi?id=63630
3165
3166         Reviewed by Kenneth Rohde Christiansen.
3167
3168         * WebKitTestRunner/qt/PlatformWebViewQt.cpp:
3169         (WTR::PlatformWebView::windowFrame):
3170         (WTR::PlatformWebView::setWindowFrame):
3171
3172 2011-07-10  Mark Rowe  <mrowe@apple.com>
3173
3174         Teach build-webkit how to find the latest WebKitSystemInterface binary.
3175
3176         * Scripts/build-webkit:
3177
3178 2011-07-09  Adam Roben  <aroben@apple.com>
3179
3180         Teach TestFailures to abbreviate the examples of test flakiness
3181
3182         These lists can get quite long, and it's not really helpful in most cases to have soooooo
3183         many examples of flakiness.
3184
3185         Fixes <http://webkit.org/b/64203> Lists of flaky revisions on TestFailures page can get so
3186         long they're hard to navigate
3187
3188         Reviewed by Dan Bates.
3189
3190         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/FlakyLayoutTestDetector.js:
3191         (FlakyLayoutTestDetector.prototype.flakinessExamples): If we have more than a certain number
3192         of examples, replace the middle items with a separator.
3193
3194         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
3195         (.flakiness-example-separator): Added styles for the separator.
3196
3197         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
3198         (ViewController.prototype._domForPossiblyFlakyTests): Use a vertical ellipsis to represent
3199         the separator.
3200
3201 2011-07-09  Dirk Pranke  <dpranke@chromium.org>
3202
3203         nrwt: stack traces from worker-side exceptions aren't very useful inside test-webkitpy
3204         https://bugs.webkit.org/show_bug.cgi?id=64218
3205
3206         Reviewed by Eric Seidel.
3207
3208         Exceptions aren't picklable and can't be sent across the
3209         manager/worker message queue without losing information. NRWT
3210         handles this by turning the stack trace into a set of strings,
3211         and logging the strings when we receive an exception from the
3212         worker. However, when you are running tests and something
3213         crashes on the worker side, test-webkitpy prints the
3214         manager-side stack trace, which is just confusing and useless.
3215
3216         This patch changes the logic so that exceptions are passed
3217         through as-is when the worker and manager are in the same
3218         process (the --worker-model=inline option). This increases the
3219         code paths slightly but makes crashes much more useful.
3220
3221         * Scripts/webkitpy/layout_tests/controllers/manager.py:
3222         * Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
3223         * Scripts/webkitpy/layout_tests/controllers/message_broker.py:
3224         * Scripts/webkitpy/layout_tests/controllers/worker.py:
3225         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3226
3227 2011-07-09  Darin Fisher  <darin@chromium.org>
3228
3229         Eliminate bad dependency on gfx::Point.
3230         https://bugs.webkit.org/show_bug.cgi?id=64228
3231
3232         Reviewed by Kent Tamura.
3233
3234         * DumpRenderTree/chromium/EventSender.cpp:
3235         (initMouseEvent):
3236
3237 2011-07-08  Ojan Vafai  <ojan@chromium.org>
3238
3239         pull static dashboard files into the appengine server from the chromium repository
3240         https://bugs.webkit.org/show_bug.cgi?id=64208
3241
3242         Reviewed by Dirk Pranke.
3243
3244         These files belong in the WebKit repo since they are tied primarily to the webkit tests.
3245         They have some extra bits to support chromium's gtests, but that seems fine.
3246         Mainly, this will allow other WebKit hackers to hack on the dashboards.
3247
3248         As a nice side-effect, we can now push the dashboard files when we do appengine pushes
3249         instead of the weird thing we used to do of pulling them from the Chromium repository
3250         and storing them in the appengine datastore. This allows for cleaning up a lot of code
3251         and will likely make the dashboards load a bit faster.
3252
3253         The new JS files don't fully match WebKit style, but I'd like to clean that up in a
3254         followup patch if possible to maintain my sanity with this patch.
3255
3256         * TestResultServer/app.yaml:
3257         * TestResultServer/handlers/dashboardhandler.py: Removed.
3258         * TestResultServer/handlers/menu.py:
3259         * TestResultServer/main.py:
3260         * TestResultServer/model/dashboardfile.py: Removed.
3261         * TestResultServer/static-dashboards/LICENSE.dygraph.txt: Added.
3262         * TestResultServer/static-dashboards/README.dygraph.txt: Added.
3263         * TestResultServer/static-dashboards/README.webtreemap.txt: Added.
3264         * TestResultServer/static-dashboards/aggregate_results.html: Added.
3265         * TestResultServer/static-dashboards/builders.js: Added.
3266         * TestResultServer/static-dashboards/dashboard_base.js: Added.
3267         * TestResultServer/static-dashboards/dygraph-combined.js: Added.
3268         * TestResultServer/static-dashboards/flakiness_dashboard.html: Added.
3269         * TestResultServer/static-dashboards/flakiness_dashboard_tests.js: Added.
3270         * TestResultServer/static-dashboards/timeline_explorer.html: Added.
3271         * TestResultServer/static-dashboards/treemap.html: Added.
3272         * TestResultServer/static-dashboards/webtreemap.css: Added.
3273         * TestResultServer/static-dashboards/webtreemap.js: Added.
3274         * TestResultServer/stylesheets/dashboardfile.css: Removed.
3275         * TestResultServer/stylesheets/menu.css:
3276         * TestResultServer/templates/dashboardfilelist.html: Removed.
3277         * TestResultServer/templates/menu.html:
3278
3279 2011-07-08  Adam Roben  <aroben@apple.com>
3280
3281         Make TestFailures's list of flaky tests look more like the list of non-flaky tests
3282
3283         Fixes <http://webkit.org/b/64204> TestFailures page's flaky tests list is ugly!
3284
3285         Reviewed by Daniel Bates.
3286
3287         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/TestFailures.css:
3288         (#failure-history, #possibly-flaky-tests): Expanded this rule to apply to the list of flaky
3289         tests.
3290         (#failure-history > li, #possibly-flaky-tests > li): Ditto, but moved the 50px left padding
3291         from here...
3292         (#failure-history > li): ...to here.
3293
3294         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
3295         (ViewController.prototype._domForPossiblyFlakyTests): Give the list an id attribute for
3296         styling purposes.
3297
3298 2011-07-08  Jeffrey Pfau  <jpfau@apple.com>
3299
3300         Unreviewed, add myself as committer.
3301
3302         * Scripts/webkitpy/common/config/committers.py:
3303
3304 2011-07-08  Adam Barth  <abarth@webkit.org>
3305
3306         TestResultsServer should keep old test results
3307         https://bugs.webkit.org/show_bug.cgi?id=64199
3308
3309         Reviewed by Ojan Vafai.
3310
3311         Having historical data will help us do failure archeology.
3312
3313         * TestResultServer/handlers/testfilehandler.py:
3314         * TestResultServer/model/testfile.py:
3315         * TestResultServer/templates/showfilelist.jsonp: Added.
3316
3317 2011-07-08  Adam Roben  <aroben@apple.com>
3318
3319         Remove commit-log-editor's dependency on Module::Load::Conditional
3320
3321         This module isn't available in Perl 5.8.8 (the version used on Leopard).
3322
3323         Fixes <http://webkit.org/b/64198> REGRESSION (r90583):
3324         webkitpy.common.checkout.checkout_unittest failing on Leopard
3325
3326         Reviewed by Daniel Bates.
3327
3328         * Scripts/commit-log-editor: Use the new loadTermReadKey() function instead of
3329         Module::Load::Conditional::can_load.
3330         (loadTermReadKey): Added. Tries to load Term::ReadKey and returns true if it's successful.
3331
3332 2011-07-08  Adam Roben  <aroben@apple.com>
3333
3334         Make checkout_unittest more robust against files moving around
3335
3336         Fixes <http://webkit.org/b/64197> checkout_unittest contains ugly, fragile code to find the
3337         Scripts directory
3338
3339         Reviewed by Adam Barth.
3340
3341         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
3342         (CommitMessageForThisCommitTest.test_commit_message_for_this_commit): Instantiate a real SCM
3343         object and use it to get the path to the Scripts directory, rather than hard-coding the
3344         relative path from this file to Scripts.
3345
3346 2011-07-08  Adam Roben  <aroben@apple.com>
3347
3348         Make TestFailures remember that run-webkit-tests timed out, even across reloads
3349
3350         Fixes <http://webkit.org/b/64193> TestFailures page incorrectly thinks all tests passed in
3351         http://build.webkit.org/builders/Windows%207%20Release%20(Tests)/builds/14589 after a reload
3352
3353         Reviewed by Daniel Bates.
3354
3355         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/LayoutTestResultsLoader.js:
3356         (LayoutTestResultsLoader.prototype.start): Store an "error" attribute in the cached data.
3357         When true, it indicates that there was an error retrieving the results for this build and
3358         that the errorCallback should be called.
3359
3360 2011-07-08  Adam Barth  <abarth@webkit.org>
3361
3362         Teach garden-o-matic how to display test results
3363         https://bugs.webkit.org/show_bug.cgi?id=64141
3364
3365         Reviewed by Ojan Vafai.
3366
3367         This patch includes basic infrastructure for probing build.chromium.org
3368         for test results.  We only handle text and image tests, not anything
3369         complicated like reftests.  Also, we're using the revision/build
3370         independent results store on the server, so we're avoiding that
3371         complication for now.
3372
3373         It's slightly hacky that we need to probe the server to see what kinds
3374         of results exist.  A better solution would be to add CORS support to
3375         the server or to use the local server to help.
3376
3377         * Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
3378         * Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
3379         * Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
3380         * Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
3381         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
3382         * Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:
3383
3384 2011-07-08  Dirk Pranke  <dpranke@chromium.org>
3385
3386         REGRESSION(90419) NRWT's httpd locking is broken for --child-processes=1
3387         https://bugs.webkit.org/show_bug.cgi?id=64092
3388
3389         Reviewed by Tony Chang.
3390
3391         The code was incorrectly creating empty shards in the
3392         shard_in_two case.
3393
3394         * Scripts/webkitpy/layout_tests/controllers/manager.py:
3395         * Scripts/webkitpy/layout_tests/controllers/manager_unittest.py:
3396
3397 2011-07-08  Adam Roben  <aroben@apple.com>
3398
3399         Teach buildbot to figure out how many webkitpy/webkitperl tests failed
3400
3401         Fixes <http://webkit.org/b/64192> It's hard to tell how many test-webkitpy/test-webkitperl
3402         tests failed when looking at build.webkit.org
3403
3404         Reviewed by Eric Seidel.
3405
3406         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
3407         (TestWithFailureCount): New class that represents a test build step which has an associated
3408         failure count. Eventually we should move more of our test classes to deriving from this.
3409         (TestWithFailureCount.countFailures): Method for subclasses to override to say how many
3410         failures occurred.
3411
3412         (TestWithFailureCount.commandComplete):
3413         (TestWithFailureCount.evaluateCommand):
3414         (TestWithFailureCount.getText):
3415         (TestWithFailureCount.getText2):
3416         These were all based on RunGtkAPITests.
3417
3418         (RunPythonTests): Changed to inherit from TestWithFailureCount.
3419         (RunPythonTests.countFailures): Parses the test-webkitpy output looking for the count of
3420         failures.
3421         (RunPerlTests): Changed to inherit from TestWithFailureCount.
3422         (RunPerlTests.countFailures): Parses the test-webkitperl output looking for the count of
3423         failures.
3424
3425 2011-07-08  Adam Roben  <aroben@apple.com>
3426
3427         Ensure $CHANGE_LOG_EMAIL_ADDRESS is set when testing webkitpy's commit-log-editor integration
3428
3429         Fixes <http://webkit.org/b/64180> REGRESSION (r90564): test-webkitpy failing on multiple
3430         bots due to commit-log-editor errors
3431
3432         Reviewed by Adam Barth.
3433
3434         * Scripts/webkitpy/common/checkout/checkout_unittest.py:
3435         (CommitMessageForThisCommitTest.test_commit_message_for_this_commit): Set
3436         $CHANGE_LOG_EMAIL_ADDRESS to the patch author's email address. This ensures that
3437         commit-log-editor can find a value for the committer's email, and that the committer and
3438         author email addresses match, which will prevent commit-log-editor from inserting a "Patch
3439         by" line in the commit message.
3440
3441 2011-07-08  Andreas Kling  <kling@webkit.org>
3442
3443         [Qt][WK2] Views should expose QActions for basic navigation.
3444         https://bugs.webkit.org/show_bug.cgi?id=64174
3445
3446         Reviewed by Benjamin Poulain.
3447
3448         Bring the toolbar in Qt's MiniBrowser back to life.
3449
3450         * MiniBrowser/qt/BrowserView.cpp:
3451         (BrowserView::navigationAction):
3452         * MiniBrowser/qt/BrowserView.h:
3453         * MiniBrowser/qt/BrowserWindow.cpp:
3454         (BrowserWindow::BrowserWindow):
3455
3456 2011-07-08  Adam Roben  <aroben@apple.com>
3457
3458         Teach TestFailures how to find test names in commit-log-editor-style commit messages
3459
3460         TestFailures was relying on Trac turning the list of modified files in our commit messages
3461         into an HTML list. But Trac only does this when the list of modified files is indented.
3462         commit-log-editor doesn't indent the file list, so the list wasn't being turned into an HTML
3463         list, which was confusing TestFailures.
3464
3465         TestFailures now does much simpler parsing of the commit message (i.e., just a substring
3466         search) without relying at all on its structure.
3467
3468         Fixes <http://webkit.org/b/64173> TestFailures page fails to blame r90608 for breaking
3469         fast/dom/HTMLProgressElement/progress-element-markup.html on Windows
3470
3471         Reviewed by David Kilzer.
3472
3473         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/Trac.js:
3474         (Trac.prototype.getCommitDataForRevisionRange): Instead of trying to parse the commit
3475         message, just return its text.
3476
3477         * BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/ViewController.js:
3478         (ViewController.prototype._domForRegressionRange): Instead of searching for test names in
3479         each commit's list of modified files, just search for test names anywhere in the commit's
3480         message.
3481
3482 2011-07-08  Adam Barth  <abarth@webkit.org>
3483
3484         sheriffbot is too spammy in IRC
3485         https://bugs.webkit.org/show_bug.cgi?id=64153
3486
3487         Reviewed by Eric Seidel.
3488
3489         Reporting failures in IRC worked well when the tree was greener than it
3490         is today.  Nowadays, this feature mostly just results in spam about
3491         false positives.  If we reach a greener state, we can bring this code
3492         back.
3493
3494         (Another possibility is to restrict this feature to builder bots,
3495         rather than including testers, as we did before this patch.)
3496
3497         * Scripts/webkitpy/tool/commands/sheriffbot.py:
3498         * Scripts/webkitpy/tool/commands/sheriffbot_unittest.py:
3499
3500 2011-07-08  Adam Roben  <aroben@apple.com>
3501
3502         Ensure commit-log-editor adds a "Patch by" line when the author and committer are different
3503
3504         Previously we were only adding a "Patch by" line when the ChangeLog contained a "Reviewed
3505         by" line. But some patches (like rollout patches) don't contain that line. Now we always add
3506         "Patch by" to the commit log regardless of the ChangeLog's contents.
3507
3508         Fixes <http://webkit.org/b/64127> Committer for r90588 is commit-queue@webkit.org, but
3509         should have been abarth@webkit.org
3510
3511         Reviewed by Anders Carlsson.
3512
3513         * Scripts/commit-log-editor:
3514         (createCommitMessage): Try to put the "Patch by" line just above the "Reviewed by" line, as
3515         before. If there is no "Reviewed by" line, try to put it just above the first modified file.
3516         If all else fails, put it at the end of the commit message.
3517         (patchAuthorshipString): Added. Code came from createCommitMessage.
3518
3519 2011-07-08  Herczeg Zoltan  <zherczeg@webkit.org>
3520
3521         Reviewed by Andreas Kling.
3522
3523         Adding myself as a reviewer.
3524
3525         * Scripts/webkitpy/common/config/committers.py:
3526
3527 2011-07-07  Kevin Ollivier  <kevino@theolliviers.com>
3528
3529         [wx] Unreviewed build fix, remove old files from the tree and update paths to new ones.
3530
3531         * wx/build: Removed.
3532         * wx/build/build_utils.py: Removed.
3533         * wx/build/settings.py: Removed.
3534         * wx/build/waf_extensions.py: Removed.
3535         * wx/build/wxpresets.py: Removed.
3536         * wx/packaging/build-mac-installer.py:
3537
3538 2011-07-07  Kevin Ollivier  <kevino@theolliviers.com>
3539
3540         [wx] Unreviewed build fix, more fixes for install name issues.
3541
3542         * wx/packaging/build-mac-installer.py:
3543
3544 2011-07-07  Dirk Pranke  <dpranke@chromium.org>
3545
3546         test-webkitpy fails on chromium win
3547         https://bugs.webkit.org/show_bug.cgi?id=64137
3548
3549         Reviewed by Eric Seidel.
3550
3551         test-webkitpy doesn't play nicely with the multiprocessing
3552         module on win32. An earlier change actually reenabled the tests
3553         on win32 by mistake.
3554
3555         This patch also fixes a few cases where path names will trip
3556         things up on win32 (e.g., by testing unix paths on windows).
3557         We do not lose any real coverage here with those fixes.
3558
3559         * Scripts/webkitpy/layout_tests/port/chromium_gpu.py:
3560         * Scripts/webkitpy/layout_tests/port/chromium_gpu_unittest.py:
3561         * Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
3562         * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
3563
3564 2011-07-07  Leandro Pereira  <leandro@profusion.mobi>
3565
3566         [ImageDiff] Calculate/print difference right after reading baseline image.