webkitpy: Provide option to skip install
[WebKit-https.git] / Tools / ChangeLog
1 2017-04-03  Jonathan Bedard  <jbedard@apple.com>
2
3         webkitpy: Provide option to skip install
4         https://bugs.webkit.org/show_bug.cgi?id=170344
5
6         Reviewed by Alexey Proskuryakov.
7
8         Installing can take time for on device testing.  Provide an option to skip install
9         and use whatever driver is currently installed on the device or simulator.
10
11         * Scripts/webkitpy/port/base.py:
12         (Port.check_build): Do not check driver if skipping install.
13         * Scripts/webkitpy/port/factory.py:
14         (platform_options): Add '--no-install' option.
15         * Scripts/webkitpy/port/ios.py:
16         (IOSPort.setup_test_run): Check install option before installing.
17
18 2017-04-03  Keith Miller  <keith_miller@apple.com>
19
20         WebAssembly: Update spec tests
21         https://bugs.webkit.org/show_bug.cgi?id=170361
22
23         Rubber-stamped by Saam Barati.
24
25         Update the runner to know the new wasm spec test harness code.
26
27         * Scripts/run-jsc-stress-tests:
28
29 2017-04-01  Alexey Proskuryakov  <ap@apple.com>
30
31         Rolling back <https://trac.webkit.org/r214697>, as it made WebKit2.DataDetectionReferenceDate time out.
32
33         Was REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
34         https://bugs.webkit.org/show_bug.cgi?id=170365
35
36         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
37
38 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
39
40         Mac cmake buildfix after 214586.
41         https://bugs.webkit.org/show_bug.cgi?id=170381
42
43         Unreviewed speculative buildfix.
44
45         * WebKitTestRunner/PlatformMac.cmake:
46
47 2017-04-01  Csaba Osztrogonác  <ossy@webkit.org>
48
49         Unreviewed speculative Mac cmake buildfix after r214586, just for fun.
50         https://bugs.webkit.org/show_bug.cgi?id=161675
51
52         * WebKitTestRunner/PlatformMac.cmake:
53
54 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
55
56         webkitpy: Add target host concept
57         https://bugs.webkit.org/show_bug.cgi?id=170186
58         <rdar://problem/31301797>
59
60         Reviewed by Alexey Proskuryakov.
61
62         Adding the idea of a target host. Target hosts are objects conforming to the
63         structure of the SystemHost object in Scripts/webkitpy/common/system/systemhost.py
64         Target hosts are the hosts associated with a worker process.
65
66         * Scripts/webkitpy/common/system/filesystem.py:
67         (FileSystem.map_base_host_path): Convert a path from an absolute path on the base
68         host to an absolute path on this host.
69         (FileSystem.move_to_base_host): Move file from this host to the base host.
70         (FileSystem.move_from_base_host): Move file from the base host to this host.
71         (FileSystem.copy_to_base_host): Copy file from this host to the base host.
72         (FileSystem.copy_from_base_host): Copy file from the base host to this host.
73         * Scripts/webkitpy/common/system/filesystem_mock.py:
74         (MockFileSystem.map_base_host_path): Convert a path from an absolute path on the base
75         host to an absolute path on this host.
76         (MockFileSystem.move_to_base_host): Move file from this host to the base host.
77         (MockFileSystem.move_from_base_host): Move file from the base host to this host.
78         (MockFileSystem.copy_to_base_host): Copy file from this host to the base host.
79         (MockFileSystem.copy_from_base_host): Copy file from the base host to this host.
80         * Scripts/webkitpy/port/base.py:
81         (Port.target_host): Return host determined by worker number.
82         (Port.abspath_for_test): Accept optional target_host argument to return location
83         of test on a target host.
84         (Port._driver_tempdir): Accept optional target_host argument to return a temporary
85         directory on a target host.
86         (Port.sample_process): Accept optional target_host argument to sample process on
87         a target host.
88         * Scripts/webkitpy/port/darwin.py:
89         (DarwinPort.sample_process): Run sample process on target host.
90         (DarwinPort.sample_file_path): Accept directory for file.
91         (DarwinPort.spindump_file_path): Ditto.
92         * Scripts/webkitpy/port/darwin_testcase.py:
93         (DarwinTest.test_spindump): Check file movement.
94         (DarwinTest.test_sample_process): Ditto.
95         (DarwinTest.test_sample_process_exception):
96         * Scripts/webkitpy/port/driver.py:
97         (Driver.__init__): Add and set self._target_host variable.
98         (Driver._start): Pass target host to _driver_tempdir().
99         (Driver.stop): Call the target host's rmtree.
100         (Driver._check_for_driver_timeout): Pass target host to sample_process.
101         (Driver._check_for_driver_crash_or_unresponsiveness): Ditto.
102         (Driver._command_from_driver_input): Pass target host to abspath_for_test and map
103         layout test directory to target host.
104         * Scripts/webkitpy/port/ios.py:
105         (IOSPort):
106         (IOSPort.target_host): Replaced device_for_worker_number.
107         (IOSPort.setup_test_run): Replace device_for_worker_number with target_host.
108         (IOSPort.device_for_worker_number): Replaced with target_host.
109         * Scripts/webkitpy/port/server_process.py:
110         (ServerProcess.__init__): Accept target_host instead of worker_number.
111         (ServerProcess._start): Replace _host with _target_host.
112         (ServerProcess._handle_timeout): Ditto.
113         (ServerProcess._kill): Ditto.
114         * Scripts/webkitpy/port/simulator_process.py:
115         (SimulatorProcess.__init__): Accept target_host instead of worker_number.
116         (SimulatorProcess._start): Replace _device with _target_host.
117         (SimulatorProcess.stop): Ditto.
118         (SimulatorProcess._kill): Deleted.
119
120 2017-03-31  Jonathan Bedard  <jbedard@apple.com>
121
122         Unreviewed fix after r214569
123         https://bugs.webkit.org/show_bug.cgi?id=170255
124
125         Unreviewed infrastructure fix.
126
127         * Scripts/webkitpy/port/ios.py:
128         (IOSPort.clean_up_test_run): Check if the device is defined before teardown.
129
130 2017-03-31  Andy Estes  <aestes@apple.com>
131
132         REGRESSION (r202472): Data Detection overwrites existing links in detected ranges
133         https://bugs.webkit.org/show_bug.cgi?id=170365
134         <rdar://problem/29205721>
135
136         Reviewed by Tim Horton.
137
138         * TestWebKitAPI/Tests/WebKit2Cocoa/DataDetection.mm:
139         (expectLinkCount): Changed to only query links with the x-apple-data-detectors attribute.
140         (TEST): Re-enabled the test, which now passes.
141
142 2017-03-31  Tim Horton  <timothy_horton@apple.com>
143
144         Mail can get stuck underneath FindController::findStringMatches after searching in a long message
145         https://bugs.webkit.org/show_bug.cgi?id=170326
146         <rdar://problem/30330395>
147
148         Reviewed by Simon Fraser.
149
150         * TestWebKitAPI/Tests/WebKit2Cocoa/FindInPage.mm:
151         (TEST):
152
153 2017-03-31  Carlos Garcia Campos  <cgarcia@igalia.com>
154
155         Unreviewed. Fix WTR crashes in GTK+ port after r214413.
156
157         Fixes: http/tests/ssl/upgrade-origin-usage.html
158                http/tests/websocket/tests/hybi/network-process-crash-error.html
159                http/tests/websocket/tests/hybi/simple-wss.html
160
161         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
162         (WTR::TestController::platformContext): Return the context.
163
164 2017-03-30  Sam Weinig  <sam@webkit.org>
165
166         Expose the WKView SPI, _prepareForMoveToWindow:withCompletionHandler as WKWebView SPI
167         https://bugs.webkit.org/show_bug.cgi?id=170315
168
169         Reviewed by Simon Fraser.
170
171         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
172         * TestWebKitAPI/Tests/WebKit2Cocoa/PrepareForMoveToWindow.mm: Added.
173         Add test showing the completion handler is called.
174
175 2017-03-30  Filip Pizlo  <fpizlo@apple.com>
176
177         Air should support linear scan for optLevel<2
178         https://bugs.webkit.org/show_bug.cgi?id=170161
179
180         Reviewed by Saam Barati.
181         
182         This makes us run a bunch of JS tests at optLevel=1 to force testing of this new compiler
183         pipeline.
184
185         * Scripts/run-jsc-stress-tests:
186
187 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
188
189         Support tvOS and watchOS in webkitdirs.pm
190         https://bugs.webkit.org/show_bug.cgi?id=170267
191
192         Reviewed by Alexey Proskuryakov.
193
194         * Scripts/webkitdirs.pm:
195         (determineXcodeSDK): Evaluate sdk for tvos and watchos.
196         (xcodeSDKPlatformName): Added support for tvos and watchos.
197         (determinePortName): Same.
198         (isAppleCocoaWebKit): Same.
199         (willUseAppleTVDeviceSDK): Added.
200         (willUseAppleTVSimulatorSDK): Added.
201         (willUseWatchDeviceSDK): Added.
202         (willUseWatchSimulatorSDK): Added.
203         (isTVOSWebKit): Added.
204         (isWATCHOSWebKit): Added.
205         (isIOSLikeWebKit): Added.
206
207 2017-03-30  Wenson Hsieh  <wenson_hsieh@apple.com>
208
209         [WK2] Touches should not cancel when showing a custom action sheet while data interaction is active
210         https://bugs.webkit.org/show_bug.cgi?id=170291
211         <rdar://problem/31301388>
212
213         Reviewed by Tim Horton.
214
215         Adds support for testing how the custom action sheet presentation codepath interacts with data interaction, as
216         well as a new unit test. In this case, we force data interaction to fail if touches are canceled on the
217         shared UIApplication, and verify that data interaction completes successfully.
218
219         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
220         (TestWebKitAPI::TEST):
221         * TestWebKitAPI/ios/DataInteractionSimulator.h:
222         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
223         (-[DataInteractionSimulatorApplication _cancelAllTouches]):
224         (-[DataInteractionSimulator initWithWebView:]):
225         (-[DataInteractionSimulator simulateAllTouchesCanceled:]):
226         (-[DataInteractionSimulator runFrom:to:]):
227         (-[DataInteractionSimulator _advanceProgress]):
228         (-[DataInteractionSimulator _webView:showCustomSheetForElement:]):
229
230 2017-03-30  Per Arne Vollan  <pvollan@apple.com>
231
232         [Win] Pass close_fds = True in Python popen call.
233         https://bugs.webkit.org/show_bug.cgi?id=170172
234
235         Reviewed by Brent Fulgham.
236
237         This was previously not supported on Windows, but in Python 2.7.10 it is.
238
239         * Scripts/webkitpy/common/system/executive.py:
240         (Executive._should_close_fds):
241         * Scripts/webkitpy/port/server_process.py:
242         (ServerProcess._start):
243
244 2017-03-30  Aakash Jain  <aakash_jain@apple.com>
245
246         Change my status to be a WebKit reviewer.
247
248         Unreviewed status update edit.
249
250         * Scripts/webkitpy/common/config/contributors.json:
251
252 2017-03-30  Carlos Alberto Lopez Perez  <clopez@igalia.com>
253
254         Change my status to be a WebKit reviewer.
255
256         Unreviewed status update edit.
257
258         * Scripts/webkitpy/common/config/contributors.json:
259
260 2017-03-29  Tim Horton  <timothy_horton@apple.com>
261
262         Swipe gesture tests don't work on macOS Sierra
263         https://bugs.webkit.org/show_bug.cgi?id=161675
264         <rdar://problem/23379930>
265
266         Reviewed by Darin Adler.
267
268         * DumpRenderTree/mac/UIScriptControllerMac.mm:
269         (WTR::UIScriptController::platformPlayBackEventStream):
270         (WTR::UIScriptController::beginBackSwipe):
271         (WTR::UIScriptController::completeBackSwipe):
272         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.h: Copied from Tools/DumpRenderTree/mac/UIScriptControllerMac.mm.
273         * TestRunnerShared/EventSerialization/mac/EventSerializerMac.mm: Added.
274         (eventIsOfType):
275         (eventIsOfTypes):
276         (eventIsOfGestureType):
277         (eventIsOfGestureTypes):
278         (+[EventSerializer dictionaryForEvent:relativeToTime:]):
279         (+[EventSerializer createEventForDictionary:inWindow:relativeToTime:]):
280         (+[EventSerializer playEventStream:inWindow:completionHandler:]):
281         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.h: Copied from Tools/WebKitTestRunner/mac/UIScriptControllerMac.mm.
282         * TestRunnerShared/EventSerialization/mac/SharedEventStreamsMac.mm: Added.
283         (beginSwipeBackEventStream):
284         (completeSwipeBackEventStream):
285         * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
286         * TestRunnerShared/UIScriptContext/UIScriptController.cpp:
287         (WTR::UIScriptController::playBackEventStream):
288         (WTR::UIScriptController::beginBackSwipe):
289         (WTR::UIScriptController::completeBackSwipe):
290         (WTR::UIScriptController::platformPlayBackEventStream):
291         (WTR::UIScriptController::platformClearAllCallbacks): Deleted.
292         * TestRunnerShared/UIScriptContext/UIScriptController.h:
293         * TestRunnerShared/spi/CoreGraphicsSPI.h: Added.
294         * TestRunnerShared/spi/IOKitSPI.h: Renamed from Tools/WebKitTestRunner/ios/IOKitSPI.h.
295         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
296         * WebKitTestRunner/mac/UIScriptControllerMac.mm:
297         (WTR::playBackEvents):
298         (WTR::UIScriptController::beginBackSwipe):
299         (WTR::UIScriptController::completeBackSwipe):
300         (WTR::UIScriptController::platformPlayBackEventStream):
301
302 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
303
304         webkitpy: Robust test clean-up
305         https://bugs.webkit.org/show_bug.cgi?id=170255
306
307         Reviewed by Alexey Proskuryakov.
308
309         On-device testing is the motivation for this change.  Failure to run clean-up functions can
310         result in zombie processes, residual NFS mounts and other undesirable remnants from a failed
311         test run.  Make an effort to clean-up even if exceptions are thrown during set-up or clean-up.
312
313         * Scripts/webkitpy/layout_tests/controllers/manager.py:
314         (Manager._set_up_run): Clean up test run if set-up fails.
315         * Scripts/webkitpy/port/ios.py:
316         (IOSPort.clean_up_test_run): Continue cleaning up devices even after an exception is thrown.
317
318 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
319
320         Simulator testing stops after the first crash
321         <rdar://problem/31325362>
322
323         Unreviewed infrastructure fix.
324
325         * Scripts/webkitpy/xcode/simulated_device.py:
326         (SimulatedDevice):
327         (SimulatedDevice.launch_app): Increase timeout when attempting to launch app.
328
329 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
330
331         webkitpy: Standardize web-server port definitions
332         https://bugs.webkit.org/show_bug.cgi?id=170144
333         <rdar://problem/31284026>
334
335         Reviewed by Daniel Bates.
336
337         Default web-server ports should be declared in global variables.
338         Add functions to web-servers which return the ports these servers
339         are using so that other tools can forward them.
340
341         * Scripts/webkitpy/layout_tests/servers/apache_http_server.py:
342         (LayoutTestApacheHttpd.__init__): Use shared constants in http_server_base.py.
343         * Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
344         (TestLayoutTestApacheHttpd.test_start_cmd): Check port_to_forward for expected values.
345         * Scripts/webkitpy/layout_tests/servers/http_server.py:
346         (Lighttpd.__init__): Use shared constants in http_server_base.py.
347         (Lighttpd._prepare_config): Ditto.
348         * Scripts/webkitpy/layout_tests/servers/http_server_base.py:
349         (HttpServerBase): Add default port constants.
350         (HttpServerBase.ports_to_forward): Add function to return ports used for http server.
351         * Scripts/webkitpy/layout_tests/servers/http_server_unittest.py:
352         (TestHttpServer.test_start_cmd): Check port_to_forward for expected values.
353         * Scripts/webkitpy/layout_tests/servers/web_platform_test_server.py:
354          (WebPlatformTestServer.ports_to_forward): Add function to return ports used for web-platform tests.
355         * Scripts/webkitpy/layout_tests/servers/websocket_server.py:
356         (PyWebSocket): Make default port values public.
357         (PyWebSocket.__init__): Use public default port.
358         (PyWebSocket.ports_to_forward): Return port used in an array.
359         * Scripts/webkitpy/port/base.py:
360         (Port.to.ports_to_forward): Return all ports used the various web-servers managed by the port object.
361         (Port.to.start_websocket_server): Use PyWebSocket port constants.
362
363 2017-03-29  Wenson Hsieh  <wenson_hsieh@apple.com>
364
365         Links with empty hrefs should not be drag sources
366         https://bugs.webkit.org/show_bug.cgi?id=170241
367         <rdar://problem/31305505>
368
369         Reviewed by Tim Horton.
370
371         Adds a new API test: DataInteractionTests.LinkWithEmptyHREF.
372
373         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
374         (TestWebKitAPI::TEST):
375         * TestWebKitAPI/ios/DataInteractionSimulator.h:
376
377         Expose the current phase of the data interaction simulator for verifying behaviors in unit tests.
378
379         * TestWebKitAPI/ios/DataInteractionSimulator.mm:
380         (-[DataInteractionSimulator phase]):
381
382 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
383
384         Use TCP instead of FIFOs for Simulator/Device communication
385         https://bugs.webkit.org/show_bug.cgi?id=169419
386         <rdar://problem/30949615>
387
388         Reviewed by Alexey Proskuryakov.
389
390         Using TCP instead of FIFOs when communicating with devices allows the device being tested
391         to be on a different machine then the one handling the management of the test run.
392
393         * DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
394         * DumpRenderTree/mac/DumpRenderTree.mm:
395         (dumpRenderTree): Call setUp/tearDownIOSLayoutTestCommunication() instead of using FIFOs.
396         * Scripts/webkitpy/port/device.py:
397         (Device.__init__): Initialize the listening_socket.
398         (Device.listening_port): Return port of listening socket.
399         (Device.prepare_for_testing): Open listening socket on an open port, prepare platform device
400         fro testing.
401         (Device.finished_testing): Close listening socket associated with this device, call the
402         platform device's finished_testing function if it exists.
403         * Scripts/webkitpy/port/ios.py:
404         (IOSPort.setup_test_run): Prepare each device for testing.
405         (IOSPort.clean_up_test_run): Notify each device that testing has completed.
406         * Scripts/webkitpy/port/ios_simulator.py:
407         (IOSSimulatorPort): Work around device persistence bug.
408         (IOSSimulatorPort.__init__): Ditto.
409         * Scripts/webkitpy/port/simulator_process.py:
410         (SimulatorProcess):
411         (SimulatorProcess.NonBlockingFileFromSocket): Add to work around shortcomings in
412         Python 2’s makefile.
413         (SimulatorProcess.NonBlockingFileFromSocket.__init__): Initialize file with socket.
414         (SimulatorProcess.ReadFileSocket.close): Close file and then socket;
415         (SimulatorProcess.__init__): Pass TCP port over environment, remove FIFO names.
416         (SimulatorProcess.__getattr__): Expose all file attributes.
417         (SimulatorProcess._accept_connection_create_file): Wait for connection from server and
418         create and return a file-like object from the incoming connection.
419         (SimulatorProcess._start): Use TCP connections instead of FIFOs.
420         (SimulatorProcess._start.handler): Output server port in timeout exception.
421         (SimulatorProcess._reset): Deleted.
422         * TestRunnerShared/IOSLayoutTestCommunication.cpp: Added.
423         (connectToServer): Return socket connected to the provided server address.
424         (setupiOSLayoutTestCommunication): Connect stdin, stdout and stderr as socket to a
425         TCP server running on localhost.
426         (tearDownIOSLayoutTestCommunication): Close stdin, stdout and stderr TCP sockets.
427         * TestRunnerShared/IOSLayoutTestCommunication.h: Added.
428         * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
429         * WebKitTestRunner/ios/TestControllerIOS.mm:
430         (WTR::TestController::platformInitialize): Call setUpIOSLayoutTestCommunication()
431         instead of using FIFOs.
432         (WTR::TestController::platformDestroy): Call tearDownIOSLayoutTestCommunication().
433
434 2017-03-29  Jonathan Bedard  <jbedard@apple.com>
435
436         webkitpy: Add IOSDevicePort and IOSPort tests
437         https://bugs.webkit.org/show_bug.cgi?id=170206
438         <rdar://problem/31308364>
439
440         Reviewed by Alexey Proskuryakov.
441
442         * Scripts/webkitpy/port/darwin_testcase.py: Removed unused import.
443         * Scripts/webkitpy/port/ios_device_unittest.py: Added.
444         (iosDeviceTest): Contains tests for the IOSDevicePort.
445         (iosDeviceTest.make_port): Creates an IOSDevicePort with arguments.
446         (iosDeviceTest.test_operating_system): Check for the correct operating system.
447         * Scripts/webkitpy/port/ios_simulator_unittest.py: Moved from Tools/Scripts/webkitpy/port/ios_unittest.py.
448         (iosSimulatorTest): Inherit from ios_testcase.
449         (iosSimulatorTest.make_port): Ditto.
450         (iosSimulatorTest.test_get_crash_log): Ditto.
451         * Scripts/webkitpy/port/ios_testcase.py: Added.
452         (iOSTest): Contains shared tests for the IOSDevicePort and IOSSimulatorPort.
453         (iOSTest.test_driver_name): Tests for iOS app driver.
454         (iOSTest.test_baseline_searchpath): Check that ios and ios-wk1 are in the baseline search path.
455         * Scripts/webkitpy/port/ios_unittest.py: Moved to ios_simulator_unittest.py.
456         * Scripts/webkitpy/port/port_testcase.py:
457         (PortTestCase): Rename is_simulator to disable_setup to more accurately describe it's meaning.
458         (PortTestCase.test_diff_image): Use disable_setup instead of is_simulator.
459         (PortTestCase.test_diff_image_crashed): Ditto.
460
461 2017-03-28  Jason Marcell  <jmarcell@apple.com>
462
463         Fix `index-expected.txt` for dashboard test results.
464         https://bugs.webkit.org/show_bug.cgi?id=170214
465
466         Reviewed by Alexey Proskuryakov.
467
468         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/index-expected.txt:
469
470 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
471
472         Bot watcher's dashboard has separate settings for "mac" and "macos"
473         https://bugs.webkit.org/show_bug.cgi?id=170164
474
475         Reviewed by Tim Horton.
476
477         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Settings.js:
478         (Settings.prototype.parsePlatformFamily): Aded a special case for "macos".
479
480 2017-03-28  Alexey Proskuryakov  <ap@apple.com>
481
482         Fix dashboard test results on the dashboard
483         https://bugs.webkit.org/show_bug.cgi?id=170158
484
485         Reviewed by Tim Horton.
486
487         Link to result diff instead of stdio. Looking at the diff, I wonder if it can be
488         further improved, as it's not super readable, but stdio is entirely useless in this context.
489
490         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Buildbot.js:
491         (Buildbot.prototype.dashboardTestResultsURLForIteration): Generate formatted diff link.
492
493         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
494         Fixed a typo in step name, so that it's actually treated as productive.
495
496         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTesterQueueView.js:
497         (BuildbotTesterQueueView.prototype.appendBuilderQueueStatus):
498         (BuildbotTesterQueueView.prototype.update):
499         (BuildbotTesterQueueView.prototype._presentPopoverForGenericTestFailures):
500         Added special handling for dashboard test results.
501
502 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
503
504         Fix Dashboard test _presentPopoverForJavaScriptCoreTestRegressions
505         https://bugs.webkit.org/show_bug.cgi?id=170193
506
507         Reviewed by Alexey Proskuryakov.
508
509         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
510         Fixed the order of arguments.
511
512 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
513
514         Dashboard tests fails to fetch the revision from commits
515         https://bugs.webkit.org/show_bug.cgi?id=170191
516
517         Reviewed by Alexey Proskuryakov.
518
519         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/MockTrac.js:
520         Added recordedCommitIndicesByRevisionNumber.
521         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
522         (setup): Populated trac.recordedCommitIndicesByRevisionNumber since the dashboard code uses this variable.
523
524 2017-03-28  Timothy Horton  <timothy_horton@apple.com>
525
526         Safari crashes when attempting to close tab that is displaying PDF
527         https://bugs.webkit.org/show_bug.cgi?id=170201
528         <rdar://problem/31242019>
529
530         Reviewed by Wenson Hsieh.
531
532         * TestWebKitAPI/Tests/WebKit2Cocoa/DoAfterNextPresentationUpdateAfterCrash.mm:
533         (TEST):
534         Add a test for doAfterNextStablePresentationUpdate just like the existing
535         non-stable one.
536
537 2017-03-28  Jonathan Bedard  <jbedard@apple.com>
538
539         webkitpy: Use host pattern for devices
540         https://bugs.webkit.org/show_bug.cgi?id=170121
541
542         Reviewed by Daniel Bates.
543
544         Devices should be treated like hosts throughout webkitpy
545         so that more code can be re-used.  Add the needed properties
546         and use executive over custom implemented polling/killing
547         functions.
548
549         * Scripts/webkitpy/port/device.py:
550         (Device):
551         (Device.executive): Add optional executive property.
552         (Device.filesystem): Add optional filesystem property.
553         (Device.user): Add optional user property.
554         (Device.platform): Add optional platform property.
555         (Device.workspace): Add optional workspace property.
556         (Device.poll): Deleted.
557         * Scripts/webkitpy/port/simulator_process.py:
558         (SimulatorProcess.Popen.poll): Use the devices executive.
559         (SimulatorProcess.stop): Ditto.
560         (SimulatorProcess._kill): Ditto.
561         * Scripts/webkitpy/xcode/simulated_device.py:
562         (SimulatedDevice.__init__): Add executive, filesystem, user, platform
563         and workspace to the platform device.
564         (SimulatedDevice.poll): Deleted.
565
566 2017-03-28  Aakash Jain  <aakash_jain@apple.com>
567
568         Dashboard test fails with error: latestIterationGetter is not a function
569         https://bugs.webkit.org/show_bug.cgi?id=170167
570
571         Reviewed by Alexey Proskuryakov.
572
573         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/tests/resources/tests.js:
574         (this.view._latestProductiveIteration): Configure _latestProductiveIteration in setup.
575
576 2017-03-27  Lucas Forschler  <lforschler@apple.com>
577
578         Another test v8.
579
580 2017-03-27  Lucas Forschler  <lforschler@apple.com>
581
582         Another test v7.
583
584 2017-03-27  Lucas Forschler  <lforschler@apple.com>
585
586         Another test v6.
587
588 2017-03-27  Lucas Forschler  <lforschler@apple.com>
589
590         Another test v5.
591
592 2017-03-27  Lucas Forschler  <lforschler@apple.com>
593
594         Another test v4.
595
596 2017-03-27  Lucas Forschler  <lforschler@apple.com>
597
598         Another test v3.
599
600 2017-03-27  Lucas Forschler  <lforschler@apple.com>
601
602         Another test v2.
603
604 2017-03-27  Lucas Forschler  <lforschler@apple.com>
605
606         Another test.
607
608 2017-03-27  Lucas Forschler  <lforschler@apple.com>
609
610         <rdar://problem/30949128>
611         Update build.webkit.org to use port 16000 for PBChangeSource.
612         
613         Reviewed by Alexey Proskuryakov.
614
615         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
616
617 2017-03-27  Jason Marcell  <jmarcell@apple.com>
618
619         Bots should run the dashboard tests
620         https://bugs.webkit.org/show_bug.cgi?id=168994
621
622         Reviewed by Daniel Bates and David Kilzer.
623
624         We pull the `--results-directory` argument value out so that `RunDashboardTests` can override it so that we can separately run the dashboard layout tests.
625
626         * BuildSlaveSupport/build.webkit.org-config/master.cfg:
627         (RunWebKitTests): Define a class variable called resultDirectory for the `--results-directory` argument so that subclasses can override this if needed.
628         (RunWebKitTests.start): Set the `--results-directory` argument value to the value of self.resultDirectory.
629         (RunDashboardTests): Subclass of RunWebKitTests in which we run the layout tests for the Bot Watcher's Dashboard.
630         (RunDashboardTests.start): Override the `--layout-tests-directory` to point to the dashboard layout tests.
631         (ExtractTestResults.addCustomURLs): Update the current results URL label to indicate that it links to layout tests results and add a new link to link to dashboard layout test results.
632         (TestFactory.__init__): Update unit tests to account for new RunDashboardTests step.
633         * BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:
634         * BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
635
636 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
637
638         webkitpy: Look for 'ios' test expectations for IOSPorts
639         https://bugs.webkit.org/show_bug.cgi?id=169413
640
641         Reviewed by Alexey Proskuryakov.
642
643         Test expectations for iOS tests should include the 'ios' folder.  Modify
644         default_baseline_search_path to include 'ios' folder and derivatives for
645         IOSPort.
646
647         * Scripts/webkitpy/port/ios.py:
648         (IOSPort._generate_all_test_configurations): Moved from IOSSimulatorPort.
649         (IOSPort.default_baseline_search_path): Add ios expectations along with port specific expectations.
650         (IOSPort.test_expectations_file_position): Added for testing.
651         * Scripts/webkitpy/port/ios_simulator.py:
652         (IOSSimulatorPort._generate_all_test_configurations): Moved to IOSPort.
653         (IOSSimulatorPort.default_baseline_search_path): Moved to IOSPort.
654
655 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
656
657         REGRESSION: Reseting _device_map on each child process
658         <rdar://problem/31274476>
659
660         Unreviewed infrastructure fix.
661
662         * Scripts/webkitpy/port/ios_simulator.py:
663         (IOSSimulatorPort): Add _DEVICE_MAP class variable.
664         (IOSSimulatorPort.__init__): Use shared class variable
665         (IOSSimulatorPort._device_for_worker_number_map): Use _DEVICE_MAP class variable
666         (IOSSimulatorPort._create_devices): Ditto.
667         (IOSSimulatorPort._quit_ios_simulator): Ditto.
668         (IOSSimulatorPort.clean_up_test_run): Ditto.
669
670 2017-03-27  Jonathan Bedard  <jbedard@apple.com>
671
672         REGRESSION: Failing to iterate over Simulator.managed_devices map
673         <rdar://problem/31274476>
674
675         Unreviewed infrastructure fix.
676
677         * Scripts/webkitpy/port/ios_simulator.py:
678         (IOSSimulatorPort._create_devices): Iterate through managed_devices by worker number.
679
680 2017-03-27  Alex Christensen  <achristensen@webkit.org>
681
682         Make WebSockets work in network process
683         https://bugs.webkit.org/show_bug.cgi?id=169930
684
685         Reviewed by Youenn Fablet.
686
687         * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
688         Add terminateNetworkProcess for the new test
689         http/tests/websocket/tests/hybi/network-process-crash-error.html
690         * WebKitTestRunner/InjectedBundle/TestRunner.cpp:
691         (WTR::TestRunner::setAllowsAnySSLCertificate):
692         (WTR::TestRunner::terminateNetworkProcess):
693         * WebKitTestRunner/InjectedBundle/TestRunner.h:
694         * WebKitTestRunner/TestController.cpp:
695         (WTR::TestController::setAllowsAnySSLCertificate):
696         (WTR::TestController::terminateNetworkProcess):
697         * WebKitTestRunner/TestController.h:
698         * WebKitTestRunner/TestInvocation.cpp:
699         (WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
700         (WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
701         * WebKitTestRunner/cocoa/TestControllerCocoa.mm:
702         (WTR::TestController::platformContext):
703         * WebKitTestRunner/gtk/TestControllerGtk.cpp:
704         (WTR::TestController::platformContext):
705         (WTR::TestController::platformLibraryPathForTesting):
706         Add some infrastructure for http/tests/websocket/tests/hybi/simple-wss.html
707         which calls testRunner.setAllowsAnySSLCertificate.  It used to only be effective
708         for the WebProcess, but SocketStreamHandleImpl::createStreams is now in the NetworkProcess,
709         and we need its call to Settings::allowsAnySSLCertificate to be loosened for this test,
710         which tests that wss works, but our test certificate has an invalid certificate chain.
711         We want production software to not have the ability to have its security weakened, so this
712         is a test code path that is only implemented in WebKitTestRunner.
713
714 2017-03-25  Jonathan Bedard  <jbedard@apple.com>
715
716         webkitpy: Use generalized device instead of platform specific one
717         https://bugs.webkit.org/show_bug.cgi?id=170078
718
719         Reviewed by Daniel Bates.
720
721         SimulatedDevice is re-created each time 'xcrun simctl list' is called.  Device
722         should remain persistent.  Changing Device to a more explicit interface.
723         SimulatedDevice no longer inherits from Device and IOSSimulator returns Devices
724         wrapping SimulatedDevices.
725
726         * Scripts/webkitpy/port/device.py: Added.
727         (Device):
728         (Device.__init__): Construct with platform device.
729         (Device.install_app): Install app at app path on platform device.
730         (Device.launch_app): Launch app with bundle ID on platform device.
731         (Device.poll): Poll platform device.
732         (Device.udid): Access platform device UDID.
733         (Device.__nonzero__): Check if instantiated with a valid platform device.
734         (Device.__eq__): Compare by udid.
735         (Device.__ne__): Ditto.
736         (Device.__repr__): Print out platform_device representation.
737         * Scripts/webkitpy/port/ios_simulator.py:
738         (IOSSimulatorPort.__init__): Initialize the _device_map to an empty dictionary.
739         (IOSSimulatorPort._device_for_worker_number_map):  Return self._device_map.
740         (IOSSimulatorPort._create_simulators): Call Simulator.managed_devices directly.
741         (IOSSimulatorPort._create_devices): Place Simulator.managed_devices into the
742         device map.
743         (IOSSimulatorPort._quit_ios_simulator): Reset self._device_map.
744         * Scripts/webkitpy/xcode/device.py: Removed.
745         * Scripts/webkitpy/xcode/simulated_device.py:
746         (SimulatedDevice):
747         (SimulatedDevice.__init__): Move host, name and did to SimulatedDevice.
748         (SimulatedDevice.__eq__): Compare two simulated devices.
749         (SimulatedDevice.__ne__): Ditto.
750         (SimulatedDevice.__repr__): Print name and udid.
751
752 2017-03-25  Adrian Perez de Castro  <aperez@igalia.com>
753
754         [GTK] No value returned from PrintCustomWidgetTest::createWebKitPrintOperation() in TestPrinting.cpp
755         https://bugs.webkit.org/show_bug.cgi?id=170059
756
757         Reviewed by Carlos Garcia Campos.
758
759         * TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp: Use "void" as return type in the declaration,
760         the only use of the method in this same file ignores the returned value anyway.
761
762 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
763
764         webkitpy should be able to run API tests
765         https://bugs.webkit.org/show_bug.cgi?id=170028
766
767         Reviewed by Alexey Proskuryakov.
768
769         * Scripts/webkitpy/common/config/ports.py:
770         (DeprecatedPort.run_api_tests_command): Added.
771         * Scripts/webkitpy/port/base.py:
772         (Port.api_results_directory): Added.
773         * Scripts/webkitpy/tool/steps/runtests.py:
774         (RunTests.run): Check if we should be running API tests.
775         (RunTests._run_api_tests): Generate script to run API tests with json output.
776         * Scripts/webkitpy/tool/steps/steps_unittest.py: Unit tests.
777
778 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
779
780         Add JSON results for API tests
781         https://bugs.webkit.org/show_bug.cgi?id=170021
782
783         Reviewed by Alexey Proskuryakov.
784
785         * Scripts/run-api-tests:
786         (runTestsBySuite): Appends failures and timeouts to JSON data.
787         (writeJsonDataIfApplicable): Writes JSON data to a file.
788
789 2017-03-24  Lucas Forschler  <lforschler@apple.com>
790
791         update committer_auth.py to be python 2.7 compliant
792         https://bugs.webkit.org/show_bug.cgi?id=170063
793         
794         Reviewed by Alexey Proskuryakov.
795
796         * BuildSlaveSupport/build.webkit.org-config/committer_auth.py:
797         (CommitterAuth.authenticate):
798             convert e.message to e.args[0]
799
800 2017-03-24  Srinivasan Vijayaraghavan  <svijayaraghavan@apple.com>
801
802         webkitpy: Parse JSON results from run-api-tests
803         https://bugs.webkit.org/show_bug.cgi?id=170062
804
805         Reviewed by Alexey Proskuryakov.
806
807         * Scripts/webkitpy/common/net/apitestresults.py: Added.
808         (APITestResults): Structure to represent API test results.
809         (APITestResults.__init__):
810         (APITestResults.intersection): Return the failures common to both sets of results.
811         (APITestResults.results_from_string): Create an APITestResults object from a JSON results string.
812         (APITestResults.equals): Return True if both results were the same.
813         (APITestResults.is_subset): Return True if failing tests are a subset of the other failing tests.
814         (APITestResults.all_passed): Return True if everything passed.
815         (APITestResults.failing_tests): List of tests that didn't pass.
816         (APITestResults.did_exceed_test_failure_limit): Always False.
817         * Scripts/webkitpy/common/net/apitestresults_unittest.py: Added.
818         (APITestResultsTest): Unit tests.
819         * Scripts/webkitpy/tool/bot/apitestresultsreader.py: Added.
820         (APITestResultsReader): Read contents of JSON results file.
821
822 2017-03-24  Alex Christensen  <achristensen@webkit.org>
823
824         REGRESSION: Content Blocker: Blocking "a[href*=randomString]" doesn't work
825         https://bugs.webkit.org/show_bug.cgi?id=169167
826
827         Reviewed by Simon Fraser.
828
829         * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:
830         (TestWebKitAPI::TEST_F):
831         Test an example of a selector that was incorrectly determined to be invalid.
832
833 2017-03-24  Jonathan Bedard  <jbedard@apple.com>
834
835         Increase timeout for booting simulators.
836         <rdar://problem/31080009>
837
838         Unreviewed infrastructure fix.
839
840         * Scripts/webkitpy/xcode/simulator.py:
841         (Simulator.wait_until_device_is_booted): Increase timeout.
842         (Simulator.wait_until_device_is_in_state): Increase timeout.
843
844 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
845
846         Unreviewed. Fix GTK+ test /webkit2/WebKitWebView/javascript-dialogs after r214277.
847
848         Since r214277 beforeunload events are not fired unless there's some user interaction, so we need to simulate it
849         in our unit tests to work.
850
851         * TestWebKitAPI/Tests/WebKit2Gtk/TestUIClient.cpp:
852         (testWebViewJavaScriptDialogs):
853
854 2017-03-24  Carlos Garcia Campos  <cgarcia@igalia.com>
855
856         [GTK] Add MIMETypeRegistry implementation using xdgmime and remove the GTK+ one
857         https://bugs.webkit.org/show_bug.cgi?id=170001
858
859         Reviewed by Michael Catanzaro.
860
861         Ignore style of xdgmime sources.
862
863         * Scripts/webkitpy/tool/steps/checkstyle.py:
864
865 2017-03-23  Wenson Hsieh  <wenson_hsieh@apple.com>
866
867         Dragging on a large image should not revert to a file icon if data interaction is enabled
868         https://bugs.webkit.org/show_bug.cgi?id=170018
869         <rdar://problem/31184508>
870
871         Reviewed by Tim Horton.
872
873         Add new tests for data interaction. LargeImageToTargetDiv verifies the change made in this patch, while
874         AttachmentElementItemProviders was a test that was previously removed due to <rdar://problem/31038797>.
875
876         * TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
877         * TestWebKitAPI/Tests/WebKit2Cocoa/large-red-square.png: Added.
878         * TestWebKitAPI/Tests/ios/DataInteractionTests.mm:
879         (TestWebKitAPI::TEST):
880
881 2017-03-23  Fujii Hironori  <Hironori.Fujii@sony.com>
882
883         Update WinCairoRequirements.zip
884         https://bugs.webkit.org/show_bug.cgi?id=169950
885
886         Reviewed by Alex Christensen.
887
888         * Scripts/update-webkit-wincairo-libs: Replace $winCairoLibsURL.
889
890 == Rolled over to ChangeLog-2017-03-23 ==