Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1582)

Unified Diff: mojo/tools/mopy/android.py

Issue 1138933004: Fix apptest builds and runner on Android. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Make PrepareShellRun only serve with origin=='localhost'; cleanup. Created 5 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/tools/apptest_runner.py ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/tools/mopy/android.py
diff --git a/mojo/tools/mopy/android.py b/mojo/tools/mopy/android.py
index 3fcb1ca229b6dfe3b0ebb89226ec62bfa09782e2..bc38c444a387ccee80b5241f2662a076d9247894 100644
--- a/mojo/tools/mopy/android.py
+++ b/mojo/tools/mopy/android.py
@@ -37,8 +37,6 @@ MOJO_SHELL_PACKAGE_NAME = 'org.chromium.mojo.shell'
MAPPING_PREFIX = '--map-origin='
-DEFAULT_BASE_PORT = 31337
-
ZERO = datetime.timedelta(0)
class UTC_TZINFO(datetime.tzinfo):
@@ -272,7 +270,6 @@ class AndroidShell(object):
"""Starts an http server serving files from |path|. Returns the local
url."""
assert path
- print 'starting http for', path
httpd = _SilentTCPServer(('127.0.0.1', 0), _GetHandlerClassForPath(path))
atexit.register(httpd.shutdown)
@@ -280,7 +277,7 @@ class AndroidShell(object):
http_thread.daemon = True
http_thread.start()
- print 'local port=%d' % httpd.server_address[1]
+ print 'Hosting %s at http://127.0.0.1:%d' % (path, httpd.server_address[1])
return 'http://127.0.0.1:%d/' % self._MapPort(port, httpd.server_address[1])
def _StartHttpServerForOriginMapping(self, mapping, port):
@@ -301,7 +298,7 @@ class AndroidShell(object):
print 'started server at %s for %s' % (dest, localUrl)
return parts[0] + '=' + localUrl
- def _StartHttpServerForOriginMappings(self, map_parameters, fixed_port):
+ def _StartHttpServerForOriginMappings(self, map_parameters):
"""Calls _StartHttpServerForOriginMapping for every --map-origin
argument."""
if not map_parameters:
@@ -311,15 +308,14 @@ class AndroidShell(object):
*map(lambda x: x[len(MAPPING_PREFIX):].split(','), map_parameters)))
sorted(original_values)
result = []
- for i, value in enumerate(original_values):
- result.append(self._StartHttpServerForOriginMapping(
- value, DEFAULT_BASE_PORT + 1 + i if fixed_port else 0))
+ for value in original_values:
+ result.append(self._StartHttpServerForOriginMapping(value, 0))
return [MAPPING_PREFIX + ','.join(result)]
- def PrepareShellRun(self, origin=None, fixed_port=True):
- """ Prepares for StartShell: runs adb as root and installs the apk. If no
- --origin is specified, local http server will be set up to serve files from
- the build directory along with port forwarding.
+ def PrepareShellRun(self, origin=None):
+ """ Prepares for StartShell: runs adb as root and installs the apk. If the
+ origin specified is 'localhost', a local http server will be set up to serve
+ files from the build directory along with port forwarding.
Returns arguments that should be appended to shell argument list."""
if 'cannot run as root' in subprocess.check_output(
@@ -331,18 +327,16 @@ class AndroidShell(object):
atexit.register(self.StopShell)
extra_shell_args = []
+ if origin is 'localhost':
+ origin = self._StartHttpServerForDirectory(self.local_dir, 0)
if origin:
- origin_url = origin if origin else self._StartHttpServerForDirectory(
- self.local_dir, DEFAULT_BASE_PORT if fixed_port else 0)
- extra_shell_args.append("--origin=" + origin_url)
-
+ extra_shell_args.append("--origin=" + origin)
return extra_shell_args
def StartShell(self,
arguments,
stdout=None,
- on_application_stop=None,
- fixed_port=True):
+ on_application_stop=None):
"""
Starts the mojo shell, passing it the given arguments.
@@ -370,8 +364,7 @@ class AndroidShell(object):
# Extract map-origin arguments.
map_parameters, other_parameters = _Split(arguments, _IsMapOrigin)
parameters += other_parameters
- parameters += self._StartHttpServerForOriginMappings(map_parameters,
- fixed_port)
+ parameters += self._StartHttpServerForOriginMappings(map_parameters)
if parameters:
encodedParameters = json.dumps(parameters)
« no previous file with comments | « mojo/tools/apptest_runner.py ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698