Index: chrome/test/webdriver/test/chromedriver_launcher.py |
diff --git a/chrome/test/webdriver/test/chromedriver_launcher.py b/chrome/test/webdriver/test/chromedriver_launcher.py |
deleted file mode 100644 |
index eab07ade1f4e456117300f9b53747a5ff32d3f9c..0000000000000000000000000000000000000000 |
--- a/chrome/test/webdriver/test/chromedriver_launcher.py |
+++ /dev/null |
@@ -1,83 +0,0 @@ |
-# Copyright (c) 2012 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-"""Launches and kills ChromeDriver. |
- |
-For ChromeDriver documentation, refer to: |
- http://dev.chromium.org/developers/testing/webdriver-for-chrome |
-""" |
- |
-import os |
-import socket |
-import subprocess |
-import sys |
- |
-import chromedriver_server |
- |
- |
-class ChromeDriverLauncher(object): |
- """Launches the ChromeDriver server process.""" |
- |
- def __init__(self, exe_path, root_path=None, url_base=None, http_threads=None, |
- enable_keep_alive=True): |
- """Initializes the launcher. |
- |
- Args: |
- exe_path: path to the ChromeDriver executable, which must exist |
- root_path: base path from which ChromeDriver webserver will serve files; |
- if None, the webserver will not serve files |
- url_base: base URL which ChromeDriver webserver will listen from |
- http_threads: |
- number of threads to use for client http connections |
- enable_keep_alive: |
- whether http and tcp keep alive should be enabled |
- Raises: |
- RuntimeError if ChromeDriver executable does not exist |
- """ |
- self._exe_path = exe_path |
- self._root_path = root_path |
- self._url_base = url_base |
- self._http_threads = http_threads |
- self._enable_keep_alive = enable_keep_alive |
- if not os.path.exists(self._exe_path): |
- raise RuntimeError('ChromeDriver exe not found at: ' + self._exe_path) |
- |
- def Launch(self): |
- """Starts a new ChromeDriver server process.""" |
- port = self._FindOpenPort() |
- chromedriver_args = [self._exe_path, '--port=%d' % port] |
- if self._root_path is not None: |
- chromedriver_args += ['--root=%s' % self._root_path] |
- if self._url_base is not None: |
- chromedriver_args += ['--url-base=%s' % self._url_base] |
- if self._http_threads is not None: |
- chromedriver_args += ['--http-threads=%d' % self._http_threads] |
- if self._enable_keep_alive is False: |
- chromedriver_args += ['--disable-keep-alive'] |
- if self._IsChromeOS(): |
- os.putenv('DISPLAY', ':0.0') |
- os.putenv('XAUTHORITY', '/home/chronos/.Xauthority') |
- proc = subprocess.Popen(chromedriver_args) |
- if proc is None: |
- raise RuntimeError('ChromeDriver cannot be started') |
- |
- return chromedriver_server.ChromeDriverServer(proc, port, self._url_base) |
- |
- def _FindOpenPort(self): |
- for port in range(9500, 10000): |
- try: |
- socket.create_connection(('127.0.0.1', port), 0.2).close() |
- except socket.error: |
- return port |
- raise RuntimeError('Cannot find open port to launch ChromeDriver') |
- |
- def _IsChromeOS(self): |
- """Returns true iff we are on ChromeOS or ChromiumOS.""" |
- lsb_release = '/etc/lsb-release' |
- if not sys.platform.startswith('linux') or not os.path.isfile(lsb_release): |
- return False |
- for line in open(lsb_release).readlines(): |
- if line.startswith('CHROMEOS_RELEASE_NAME='): |
- return True |
- return False |