autotest: Create RpcServerTracker for Host objects.
Create a generic RpcServerTracker which can be used by any host object
to start and manage RPC server connections. The RPCServerTracker uses
the associated host object to start the required XML/JSON RPC server on the
DUT and forwards the port from the AutoTest Server to Brillo/Cros DUT.
This CL basically ports over most of the RPC server connection
management code from CrosHost into a separate class so that it can be
reused by AdbHost as well.
AdbHost modifies the |host.rpc_port_forward/disconnect| method to forward the
RPC connection from the AdbHost to Brillo DUT using 'adb forward'.
Related Change:
1. Add a |verbose| flag to the |host.run| method in AdbHost so that we can
reuse the |host.run_background| method already implemented by SshHost.
BUG=brillo:24338381
TEST=Ran network_WiFi_SimpleConnect.wifi_check11g on both dragonboard
and cros DUT.
`test_that $host --board=panther network_WiFi_SimpleConnect.wifi_check11g`
Change-Id: I7e44cbd5897871f01f320cb57377a28491571478
Reviewed-on: https://chromium-review.googlesource.com/307163
Commit-Ready: Roshan Pius <rpius@chromium.org>
Tested-by: Roshan Pius <rpius@chromium.org>
Reviewed-by: Roshan Pius <rpius@chromium.org>
diff --git a/server/cros/interactive_client.py b/server/cros/interactive_client.py
index 03e324d..f242e79 100644
--- a/server/cros/interactive_client.py
+++ b/server/cros/interactive_client.py
@@ -28,7 +28,7 @@
client_at = autotest.Autotest(self._host)
client_at.install()
# Start up the XML-RPC proxy on the client.
- self._proxy = self._host.xmlrpc_connect(
+ self._proxy = self._host.rpc_server_tracker.xmlrpc_connect(
constants.INTERACTIVE_XMLRPC_SERVER_COMMAND,
constants.INTERACTIVE_XMLRPC_SERVER_PORT,
command_name=