OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 # pylint: disable=W0212 | 5 # pylint: disable=W0212 |
6 | 6 |
7 import fcntl | 7 import fcntl |
8 import logging | 8 import logging |
9 import os | 9 import os |
10 import psutil | 10 import psutil |
(...skipping 272 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 | 283 |
284 Args: | 284 Args: |
285 device: A DeviceUtils instance. | 285 device: A DeviceUtils instance. |
286 tool: Tool class to use to get wrapper, if necessary, for executing the | 286 tool: Tool class to use to get wrapper, if necessary, for executing the |
287 forwarder (see valgrind_tools.py). | 287 forwarder (see valgrind_tools.py). |
288 """ | 288 """ |
289 device_serial = device.old_interface.Adb().GetSerialNumber() | 289 device_serial = device.old_interface.Adb().GetSerialNumber() |
290 if device_serial in self._initialized_devices: | 290 if device_serial in self._initialized_devices: |
291 return | 291 return |
292 Forwarder._KillDeviceLocked(device, tool) | 292 Forwarder._KillDeviceLocked(device, tool) |
293 device.old_interface.PushIfNeeded( | 293 device.PushChangedFiles( |
294 self._device_forwarder_path_on_host, | 294 self._device_forwarder_path_on_host, |
295 Forwarder._DEVICE_FORWARDER_FOLDER) | 295 Forwarder._DEVICE_FORWARDER_FOLDER) |
296 cmd = '%s %s' % (tool.GetUtilWrapper(), Forwarder._DEVICE_FORWARDER_PATH) | 296 cmd = '%s %s' % (tool.GetUtilWrapper(), Forwarder._DEVICE_FORWARDER_PATH) |
297 (exit_code, output) = device.old_interface.GetAndroidToolStatusAndOutput( | 297 (exit_code, output) = device.old_interface.GetAndroidToolStatusAndOutput( |
298 cmd, lib_path=Forwarder._DEVICE_FORWARDER_FOLDER) | 298 cmd, lib_path=Forwarder._DEVICE_FORWARDER_FOLDER) |
299 if exit_code != 0: | 299 if exit_code != 0: |
300 raise Exception( | 300 raise Exception( |
301 'Failed to start device forwarder:\n%s' % '\n'.join(output)) | 301 'Failed to start device forwarder:\n%s' % '\n'.join(output)) |
302 self._initialized_devices.add(device_serial) | 302 self._initialized_devices.add(device_serial) |
303 | 303 |
(...skipping 17 matching lines...) Expand all Loading... |
321 """Kills the forwarder process running on the device. | 321 """Kills the forwarder process running on the device. |
322 | 322 |
323 Note that the global lock must be acquired before calling this method. | 323 Note that the global lock must be acquired before calling this method. |
324 | 324 |
325 Args: | 325 Args: |
326 device: Instance of DeviceUtils for talking to the device. | 326 device: Instance of DeviceUtils for talking to the device. |
327 tool: Wrapper tool (e.g. valgrind) that can be used to execute the device | 327 tool: Wrapper tool (e.g. valgrind) that can be used to execute the device |
328 forwarder (see valgrind_tools.py). | 328 forwarder (see valgrind_tools.py). |
329 """ | 329 """ |
330 logging.info('Killing device_forwarder.') | 330 logging.info('Killing device_forwarder.') |
331 if not device.old_interface.FileExistsOnDevice( | 331 if not device.FileExists(Forwarder._DEVICE_FORWARDER_PATH): |
332 Forwarder._DEVICE_FORWARDER_PATH): | |
333 return | 332 return |
334 | 333 |
335 cmd = '%s %s --kill-server' % (tool.GetUtilWrapper(), | 334 cmd = '%s %s --kill-server' % (tool.GetUtilWrapper(), |
336 Forwarder._DEVICE_FORWARDER_PATH) | 335 Forwarder._DEVICE_FORWARDER_PATH) |
337 device.old_interface.GetAndroidToolStatusAndOutput( | 336 device.old_interface.GetAndroidToolStatusAndOutput( |
338 cmd, lib_path=Forwarder._DEVICE_FORWARDER_FOLDER) | 337 cmd, lib_path=Forwarder._DEVICE_FORWARDER_FOLDER) |
339 | 338 |
340 # TODO(pliard): Remove the following call to KillAllBlocking() when we are | 339 # TODO(pliard): Remove the following call to KillAllBlocking() when we are |
341 # sure that the old version of device_forwarder (not supporting | 340 # sure that the old version of device_forwarder (not supporting |
342 # 'kill-server') is not running on the bots anymore. | 341 # 'kill-server') is not running on the bots anymore. |
343 timeout_sec = 5 | 342 timeout_sec = 5 |
344 try: | 343 try: |
345 device.KillAll( | 344 device.KillAll( |
346 'device_forwarder', blocking=True, timeout=timeout_sec) | 345 'device_forwarder', blocking=True, timeout=timeout_sec) |
347 except device_errors.CommandFailedError: | 346 except device_errors.CommandFailedError: |
348 pids = device.old_interface.ExtractPid('device_forwarder') | 347 pids = device.old_interface.ExtractPid('device_forwarder') |
349 if pids: | 348 if pids: |
350 raise | 349 raise |
OLD | NEW |