mirror of
https://github.com/servo/servo.git
synced 2025-08-17 03:15:34 +01:00
Update web-platform-tests to revision 6340a70e8df5e850ea44436b54105f59dd5aa22e
This commit is contained in:
parent
5788e8c050
commit
7be3e2f06b
131 changed files with 3893 additions and 1852 deletions
|
@ -191,4 +191,4 @@ class HTTPWireProtocol(object):
|
|||
return self.connection.getresponse()
|
||||
|
||||
def _has_unread_data(self):
|
||||
return self._conn and select.select([self._conn.sock], [], [], 0)[0]
|
||||
return self._conn and self._conn.sock and select.select([self._conn.sock], [], [], 0)[0]
|
||||
|
|
|
@ -590,6 +590,29 @@ class ChromeAndroid(Browser):
|
|||
return None
|
||||
|
||||
|
||||
class ChromeiOS(Browser):
|
||||
"""Chrome-specific interface for iOS.
|
||||
"""
|
||||
|
||||
product = "chrome_ios"
|
||||
requirements = "requirements_chrome_ios.txt"
|
||||
|
||||
def install(self, dest=None, channel=None):
|
||||
raise NotImplementedError
|
||||
|
||||
def find_binary(self, venv_path=None, channel=None):
|
||||
raise NotImplementedError
|
||||
|
||||
def find_webdriver(self, channel=None):
|
||||
raise NotImplementedError
|
||||
|
||||
def install_webdriver(self, dest=None, channel=None, browser_binary=None):
|
||||
raise NotImplementedError
|
||||
|
||||
def version(self, binary=None, webdriver_binary=None):
|
||||
return None
|
||||
|
||||
|
||||
class Opera(Browser):
|
||||
"""Opera-specific interface.
|
||||
|
||||
|
|
|
@ -310,6 +310,15 @@ class ChromeAndroid(BrowserSetup):
|
|||
raise WptrunError("Unable to locate or install chromedriver binary")
|
||||
|
||||
|
||||
class ChromeiOS(BrowserSetup):
|
||||
name = "chrome_ios"
|
||||
browser_cls = browser.ChromeiOS
|
||||
|
||||
def setup_kwargs(self, kwargs):
|
||||
if kwargs["webdriver_binary"] is None:
|
||||
raise WptrunError("Unable to locate or install chromedriver binary")
|
||||
|
||||
|
||||
class Opera(BrowserSetup):
|
||||
name = "opera"
|
||||
browser_cls = browser.Opera
|
||||
|
@ -505,6 +514,7 @@ product_setup = {
|
|||
"firefox": Firefox,
|
||||
"chrome": Chrome,
|
||||
"chrome_android": ChromeAndroid,
|
||||
"chrome_ios": ChromeiOS,
|
||||
"edgechromium": EdgeChromium,
|
||||
"edge": Edge,
|
||||
"edge_webdriver": EdgeWebDriver,
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
mozprocess==1.0.0
|
|
@ -24,6 +24,7 @@ module global scope.
|
|||
|
||||
product_list = ["chrome",
|
||||
"chrome_android",
|
||||
"chrome_ios",
|
||||
"edgechromium",
|
||||
"edge",
|
||||
"edge_webdriver",
|
||||
|
|
|
@ -0,0 +1,80 @@
|
|||
from .base import Browser, ExecutorBrowser, require_arg
|
||||
from .base import get_timeout_multiplier # noqa: F401
|
||||
from ..webdriver_server import CWTChromeDriverServer
|
||||
from ..executors import executor_kwargs as base_executor_kwargs
|
||||
from ..executors.executorwebdriver import (WebDriverTestharnessExecutor, # noqa: F401
|
||||
WebDriverRefTestExecutor) # noqa: F401
|
||||
from ..executors.executorchrome import ChromeDriverWdspecExecutor # noqa: F401
|
||||
|
||||
|
||||
__wptrunner__ = {"product": "chrome_ios",
|
||||
"check_args": "check_args",
|
||||
"browser": "ChromeiOSBrowser",
|
||||
"executor": {"testharness": "WebDriverTestharnessExecutor",
|
||||
"reftest": "WebDriverRefTestExecutor"},
|
||||
"browser_kwargs": "browser_kwargs",
|
||||
"executor_kwargs": "executor_kwargs",
|
||||
"env_extras": "env_extras",
|
||||
"env_options": "env_options",
|
||||
"timeout_multiplier": "get_timeout_multiplier"}
|
||||
|
||||
def check_args(**kwargs):
|
||||
require_arg(kwargs, "webdriver_binary")
|
||||
|
||||
|
||||
def browser_kwargs(test_type, run_info_data, config, **kwargs):
|
||||
return {"webdriver_binary": kwargs["webdriver_binary"],
|
||||
"webdriver_args": kwargs.get("webdriver_args")}
|
||||
|
||||
|
||||
def executor_kwargs(test_type, server_config, cache_manager, run_info_data,
|
||||
**kwargs):
|
||||
executor_kwargs = base_executor_kwargs(test_type, server_config, cache_manager, run_info_data,
|
||||
**kwargs)
|
||||
executor_kwargs["close_after_done"] = True
|
||||
executor_kwargs["capabilities"] = {}
|
||||
return executor_kwargs
|
||||
|
||||
|
||||
def env_extras(**kwargs):
|
||||
return []
|
||||
|
||||
|
||||
def env_options():
|
||||
return {}
|
||||
|
||||
|
||||
class ChromeiOSBrowser(Browser):
|
||||
"""ChromeiOS is backed by CWTChromeDriver, which is supplied through
|
||||
``wptrunner.webdriver.CWTChromeDriverServer``.
|
||||
"""
|
||||
|
||||
init_timeout = 120
|
||||
|
||||
def __init__(self, logger, webdriver_binary, webdriver_args=None):
|
||||
"""Creates a new representation of Chrome."""
|
||||
Browser.__init__(self, logger)
|
||||
self.server = CWTChromeDriverServer(self.logger,
|
||||
binary=webdriver_binary,
|
||||
args=webdriver_args)
|
||||
|
||||
def start(self, **kwargs):
|
||||
self.server.start(block=False)
|
||||
|
||||
def stop(self, force=False):
|
||||
self.server.stop(force=force)
|
||||
|
||||
def pid(self):
|
||||
return self.server.pid
|
||||
|
||||
def is_alive(self):
|
||||
# TODO(ato): This only indicates the driver is alive,
|
||||
# and doesn't say anything about whether a browser session
|
||||
# is active.
|
||||
return self.server.is_alive()
|
||||
|
||||
def cleanup(self):
|
||||
self.stop()
|
||||
|
||||
def executor_browser(self):
|
||||
return ExecutorBrowser, {"webdriver_url": self.server.url}
|
|
@ -9,8 +9,9 @@ import traceback
|
|||
import mozprocess
|
||||
|
||||
|
||||
__all__ = ["SeleniumServer", "ChromeDriverServer", "EdgeChromiumDriverServer", "OperaDriverServer",
|
||||
"GeckoDriverServer", "InternetExplorerDriverServer", "EdgeDriverServer",
|
||||
__all__ = ["SeleniumServer", "ChromeDriverServer", "CWTChromeDriverServer",
|
||||
"EdgeChromiumDriverServer", "OperaDriverServer", "GeckoDriverServer",
|
||||
"InternetExplorerDriverServer", "EdgeDriverServer",
|
||||
"ServoDriverServer", "WebKitDriverServer", "WebDriverServer"]
|
||||
|
||||
|
||||
|
@ -127,6 +128,14 @@ class ChromeDriverServer(WebDriverServer):
|
|||
cmd_arg("port", str(self.port)),
|
||||
cmd_arg("url-base", self.base_path) if self.base_path else ""] + self._args
|
||||
|
||||
class CWTChromeDriverServer(WebDriverServer):
|
||||
def __init__(self, logger, binary, port=None, args=None):
|
||||
WebDriverServer.__init__(self, logger, binary, port=port, args=args)
|
||||
|
||||
def make_command(self):
|
||||
return [self.binary,
|
||||
"--port=%s" % str(self.port)] + self._args
|
||||
|
||||
class EdgeChromiumDriverServer(WebDriverServer):
|
||||
def __init__(self, logger, binary="msedgedriver", port=None,
|
||||
base_path="", args=None):
|
||||
|
@ -239,7 +248,7 @@ def get_free_port():
|
|||
s.close()
|
||||
|
||||
|
||||
def wait_for_service(addr, timeout=15):
|
||||
def wait_for_service(addr, timeout=60):
|
||||
"""Waits until network service given as a tuple of (host, port) becomes
|
||||
available or the `timeout` duration is reached, at which point
|
||||
``socket.error`` is raised."""
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue