Index: trunk/src/tools/telemetry/telemetry/core/chrome/adb_commands.py |
=================================================================== |
--- trunk/src/tools/telemetry/telemetry/core/chrome/adb_commands.py (revision 212053) |
+++ trunk/src/tools/telemetry/telemetry/core/chrome/adb_commands.py (working copy) |
@@ -20,6 +20,7 @@ |
from pylib import cmd_helper # pylint: disable=F0401 |
from pylib import forwarder # pylint: disable=F0401 |
from pylib import ports # pylint: disable=F0401 |
+ from pylib import valgrind_tools # pylint: disable=F0401 |
except Exception: |
android_commands = None |
@@ -159,24 +160,34 @@ |
class Forwarder(object): |
def __init__(self, adb, *port_pairs): |
- self._adb = adb.Adb() |
+ tool = valgrind_tools.BaseTool() |
self._host_port = port_pairs[0].local_port |
new_port_pairs = [(port_pair.local_port, port_pair.remote_port) |
for port_pair in port_pairs] |
- self._port_pairs = new_port_pairs |
- forwarder.Forwarder.Map(new_port_pairs, self._adb) |
+ self._forwarder = forwarder.Forwarder(adb.Adb(), Forwarder._GetBuildType()) |
+ self._forwarder.Run(new_port_pairs, tool) |
@staticmethod |
def _GetBuildType(): |
assert HasForwarder() |
return 'Debug' if HasForwarder('Debug') else 'Release' |
+ @staticmethod |
+ def KillHost(): |
+ forwarder.Forwarder.KillHost(Forwarder._GetBuildType()) |
+ |
+ @staticmethod |
+ def KillDevice(adb): |
+ forwarder.Forwarder.KillDevice(adb.Adb(), valgrind_tools.BaseTool()) |
+ |
@property |
def url(self): |
+ assert self._forwarder |
return 'http://localhost:%i' % self._host_port |
def Close(self): |
- for (device_port, _) in self._port_pairs: |
- forwarder.Forwarder.UnmapDevicePort(device_port, self._adb) |
+ if self._forwarder: |
+ self._forwarder.Close() |
+ self._forwarder = None |