Title: [213926] trunk/Tools
Revision
213926
Author
jbed...@apple.com
Date
2017-03-14 12:16:36 -0700 (Tue, 14 Mar 2017)

Log Message

webkitpy: Efficient app installation for device testing
https://bugs.webkit.org/show_bug.cgi?id=169054
<rdar://problem/30790207>

Reviewed by Daniel Bates.

We should only install an app on a device once, not every time the app is run.
Move app installation to setup.

* Scripts/webkitpy/port/ios.py:
(IOSPort.setup_test_run): Install app to device.
* Scripts/webkitpy/port/simulator_process.py:
(SimulatorProcess.__init__): Remove app installation.

Modified Paths

Diff

Modified: trunk/Tools/ChangeLog (213925 => 213926)


--- trunk/Tools/ChangeLog	2017-03-14 19:12:57 UTC (rev 213925)
+++ trunk/Tools/ChangeLog	2017-03-14 19:16:36 UTC (rev 213926)
@@ -1,3 +1,19 @@
+2017-03-14  Jonathan Bedard  <jbed...@apple.com>
+
+        webkitpy: Efficient app installation for device testing
+        https://bugs.webkit.org/show_bug.cgi?id=169054
+        <rdar://problem/30790207>
+
+        Reviewed by Daniel Bates.
+
+        We should only install an app on a device once, not every time the app is run.
+        Move app installation to setup.
+
+        * Scripts/webkitpy/port/ios.py:
+        (IOSPort.setup_test_run): Install app to device.
+        * Scripts/webkitpy/port/simulator_process.py:
+        (SimulatorProcess.__init__): Remove app installation.
+
 2017-03-14  Fujii Hironori  <hironori.fu...@sony.com>
 
         Nwtr ignores ImageDiff's errors for ref tests

Modified: trunk/Tools/Scripts/webkitpy/port/ios.py (213925 => 213926)


--- trunk/Tools/Scripts/webkitpy/port/ios.py	2017-03-14 19:12:57 UTC (rev 213925)
+++ trunk/Tools/Scripts/webkitpy/port/ios.py	2017-03-14 19:16:36 UTC (rev 213926)
@@ -82,3 +82,12 @@
 
     def setup_test_run(self, device_class=None):
         self._create_devices(device_class)
+
+        for i in xrange(self.child_processes()):
+            device = self.device_for_worker_number(i)
+            _log.debug('Installing to {}'.format(device))
+            # Without passing DYLD_LIBRARY_PATH, libWebCoreTestSupport cannot be loaded and DRT/WKTR will crash pre-launch,
+            # leaving a crash log which will be picked up in results.  No DYLD_FRAMEWORK_PATH will also cause the DRT/WKTR to
+            # crash, but this crash will occur post-launch, after install_app has already killed the process.
+            if not device.install_app(self._path_to_driver(), {'DYLD_LIBRARY_PATH': self._build_path()}):
+                raise RuntimeError('Failed to install app {} on device {}'.format(self._path_to_driver(), device.udid))

Modified: trunk/Tools/Scripts/webkitpy/port/simulator_process.py (213925 => 213926)


--- trunk/Tools/Scripts/webkitpy/port/simulator_process.py	2017-03-14 19:12:57 UTC (rev 213925)
+++ trunk/Tools/Scripts/webkitpy/port/simulator_process.py	2017-03-14 19:16:36 UTC (rev 213926)
@@ -59,8 +59,6 @@
     def __init__(self, port_obj, name, cmd, env=None, universal_newlines=False, treat_no_data_as_crash=False, worker_number=None):
         self._bundle_id = port_obj.app_identifier_from_bundle(cmd[0])
         self._device = port_obj.device_for_worker_number(worker_number)
-        if not self._device.install_app(cmd[0], env):
-            raise RuntimeError('Failed to install app {} on simulator device {}'.format(cmd[0], self._device.udid))
         env['IPC_IDENTIFIER'] = self._bundle_id + '-' + self._device.udid
 
         # This location matches the location used by WebKitTestRunner and DumpRenderTree
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to