diff options
author | hartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-23 03:42:59 +0000 |
---|---|---|
committer | hartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-01-23 03:42:59 +0000 |
commit | d348bc08555c474346221922843e979a7944c927 (patch) | |
tree | fc601239049f8a7a000b073ba1a2f0d2fdabe87e /tools/telemetry | |
parent | a3fbd1a952623b4c9d8a27c61756ecf33a1c4400 (diff) | |
download | chromium_src-d348bc08555c474346221922843e979a7944c927.zip chromium_src-d348bc08555c474346221922843e979a7944c927.tar.gz chromium_src-d348bc08555c474346221922843e979a7944c927.tar.bz2 |
[Telemetry] Dynamically set remote debugging port in DesktopBrowserBackend.
BUG=163093
Review URL: https://chromiumcodereview.appspot.com/12052024
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178234 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/telemetry')
-rw-r--r-- | tools/telemetry/telemetry/cros_browser_backend.py | 6 | ||||
-rw-r--r-- | tools/telemetry/telemetry/desktop_browser_backend.py | 5 | ||||
-rw-r--r-- | tools/telemetry/telemetry/temporary_http_server.py | 6 | ||||
-rw-r--r-- | tools/telemetry/telemetry/util.py | 9 |
4 files changed, 13 insertions, 13 deletions
diff --git a/tools/telemetry/telemetry/cros_browser_backend.py b/tools/telemetry/telemetry/cros_browser_backend.py index 338f903..b2eea47 100644 --- a/tools/telemetry/telemetry/cros_browser_backend.py +++ b/tools/telemetry/telemetry/cros_browser_backend.py @@ -3,7 +3,6 @@ # found in the LICENSE file. import logging import os -import socket import subprocess from telemetry import browser_backend @@ -48,10 +47,7 @@ class CrOSBrowserBackend(browser_backend.BrowserBackend): cri.GetCmdOutput(args) # Find a free local port. - tmp = socket.socket() - tmp.bind(('', 0)) - self._port = tmp.getsockname()[1] - tmp.close() + self._port = util.GetAvailableLocalPort() # Forward the remote debugging port. logging.info('Forwarding remote debugging port') diff --git a/tools/telemetry/telemetry/desktop_browser_backend.py b/tools/telemetry/telemetry/desktop_browser_backend.py index 43ac0b5..a0e3d45 100644 --- a/tools/telemetry/telemetry/desktop_browser_backend.py +++ b/tools/telemetry/telemetry/desktop_browser_backend.py @@ -9,8 +9,6 @@ import tempfile from telemetry import browser_backend from telemetry import util -DEFAULT_PORT = 9273 - class DesktopBrowserBackend(browser_backend.BrowserBackend): """The backend for controlling a locally-executed browser instance, on Linux, Mac or Windows. @@ -27,7 +25,8 @@ class DesktopBrowserBackend(browser_backend.BrowserBackend): if not self._executable: raise Exception('Cannot create browser, no executable found!') - self._port = DEFAULT_PORT + self._port = util.GetAvailableLocalPort() + args = [self._executable] args.extend(self.GetBrowserStartupArgs()) if not options.show_stdout: diff --git a/tools/telemetry/telemetry/temporary_http_server.py b/tools/telemetry/telemetry/temporary_http_server.py index 9eb1dc3..59edbd2 100644 --- a/tools/telemetry/telemetry/temporary_http_server.py +++ b/tools/telemetry/telemetry/temporary_http_server.py @@ -16,11 +16,7 @@ class TemporaryHTTPServer(object): self._path = path self._forwarder = None - tmp = socket.socket() - tmp.bind(('', 0)) - port = tmp.getsockname()[1] - tmp.close() - self._host_port = port + self._host_port = util.GetAvailableLocalPort() assert os.path.exists(path), path assert os.path.isdir(path), path diff --git a/tools/telemetry/telemetry/util.py b/tools/telemetry/telemetry/util.py index e7b754b..db93bcf 100644 --- a/tools/telemetry/telemetry/util.py +++ b/tools/telemetry/telemetry/util.py @@ -2,6 +2,7 @@ # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. import inspect +import socket import time class TimeoutException(Exception): @@ -57,3 +58,11 @@ class PortPair(object): def __init__(self, local_port, remote_port): self.local_port = local_port self.remote_port = remote_port + +def GetAvailableLocalPort(): + tmp = socket.socket() + tmp.bind(('', 0)) + port = tmp.getsockname()[1] + tmp.close() + + return port |