android_xmlrpc_server: Convert for compatible with Python 2.7.
While here, updated target dir for android_xmlrpc_server that allows
write-access across Linux-based platforms.
BUG=None
TEST=Ran android_xmlrpc_server python 2.7 and had no ImportErrors
Change-Id: If2d40787a48fabd1910412118014bd4ee779a1ac
Reviewed-on: https://chromium-review.googlesource.com/346250
Commit-Ready: Kris Rambish <krisr@chromium.org>
Tested-by: Tien Chang <tienchang@chromium.org>
Reviewed-by: Kris Rambish <krisr@chromium.org>
diff --git a/client/cros/constants.py b/client/cros/constants.py
index 6bfab2c..a85050f 100644
--- a/client/cros/constants.py
+++ b/client/cros/constants.py
@@ -142,7 +142,8 @@
'./shill_xmlrpc_server.py')
SHILL_BRILLO_XMLRPC_SERVER_COMMAND = (
'/system/bin/shill-test-rpc-proxy --port=%s' % SHILL_XMLRPC_SERVER_PORT)
-ANDROID_XMLRPC_SERVER_TARGET_DIR = '/root'
+# /usr/local/bin is write-accessible on both ChromeOS and test-station platforms
+ANDROID_XMLRPC_SERVER_TARGET_DIR = '/usr/local/bin'
ANDROID_XMLRPC_SERVER_COMMAND = (
'cd %s; '
'./android_xmlrpc_server.py' % ANDROID_XMLRPC_SERVER_TARGET_DIR)
diff --git a/client/cros/networking/android_xmlrpc_server.py b/client/cros/networking/android_xmlrpc_server.py
index 7145ac9..64c5e8a 100755
--- a/client/cros/networking/android_xmlrpc_server.py
+++ b/client/cros/networking/android_xmlrpc_server.py
@@ -1,21 +1,21 @@
-#!/usr/bin/python3.4
+#!/usr/bin/python2.7
# Copyright (c) 2015 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import argparse
-import contextlib
+import contextlib2
import errno
import logging
-import queue
+import Queue
import select
import shutil
import signal
import threading
import time
-from xmlrpc.server import SimpleXMLRPCServer
+from SimpleXMLRPCServer import SimpleXMLRPCServer
from acts import logger
from acts import utils
@@ -106,7 +106,7 @@
def run(self):
"""Block and handle many XmlRpc requests."""
logging.info('XmlRpcServer starting...')
- with contextlib.ExitStack() as stack:
+ with contextlib2.ExitStack() as stack:
for delegate in self._delegates:
stack.enter_context(delegate)
while self._keep_running:
@@ -292,7 +292,7 @@
for result in scan_results:
if wutils.WifiEnums.SSID_KEY in result:
ssids.append(result[wutils.WifiEnums.SSID_KEY])
- except queue.Empty:
+ except Queue.Empty:
logging.error("Scan results available event timed out!")
except Exception as e:
logging.error("Scan results error: %s" % str(e))
@@ -338,7 +338,7 @@
assert actual_ssid == ssid, ("Expected to connect to %s, but "
"connected to %s") % (ssid, actual_ssid)
result = True
- except queue.Empty:
+ except Queue.Empty:
logging.error("No state change available yet!")
except Exception as e:
logging.error("State change error: %s" % str(e))
@@ -433,7 +433,7 @@
assert actual_ssid == params.ssid, ("Expected to connect to %s, "
"connected to %s") % (params.ssid, actual_ssid)
result = True
- except queue.Empty:
+ except Queue.Empty:
msg = "Failed to connect to %s with %s" % (params.ssid,
params.security_config.security)
logging.error(msg)