summaryrefslogtreecommitdiffstats
path: root/tools/telemetry
diff options
context:
space:
mode:
authorhartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 03:42:59 +0000
committerhartmanng@chromium.org <hartmanng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-01-23 03:42:59 +0000
commitd348bc08555c474346221922843e979a7944c927 (patch)
treefc601239049f8a7a000b073ba1a2f0d2fdabe87e /tools/telemetry
parenta3fbd1a952623b4c9d8a27c61756ecf33a1c4400 (diff)
downloadchromium_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.py6
-rw-r--r--tools/telemetry/telemetry/desktop_browser_backend.py5
-rw-r--r--tools/telemetry/telemetry/temporary_http_server.py6
-rw-r--r--tools/telemetry/telemetry/util.py9
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