mirror of
https://github.com/servo/servo
synced 2026-05-01 03:47:53 +02:00
82 lines
3.0 KiB
Python
82 lines
3.0 KiB
Python
# This Source Code Form is subject to the terms of the Mozilla Public
|
|
# License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
# You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
import os
|
|
|
|
from .base import NullBrowser, ExecutorBrowser, require_arg
|
|
from ..executors import executor_kwargs as base_executor_kwargs
|
|
from ..executors.executorservo import ServoTestharnessExecutor, ServoRefTestExecutor, ServoWdspecExecutor
|
|
|
|
here = os.path.join(os.path.split(__file__)[0])
|
|
|
|
__wptrunner__ = {"product": "servo",
|
|
"check_args": "check_args",
|
|
"browser": "ServoBrowser",
|
|
"executor": {"testharness": "ServoTestharnessExecutor",
|
|
"reftest": "ServoRefTestExecutor",
|
|
"wdspec": "ServoWdspecExecutor"},
|
|
"browser_kwargs": "browser_kwargs",
|
|
"executor_kwargs": "executor_kwargs",
|
|
"env_options": "env_options",
|
|
"run_info_extras": "run_info_extras",
|
|
"update_properties": "update_properties"}
|
|
|
|
|
|
def check_args(**kwargs):
|
|
require_arg(kwargs, "binary")
|
|
|
|
|
|
def browser_kwargs(**kwargs):
|
|
return {"binary": kwargs["binary"],
|
|
"debug_info": kwargs["debug_info"],
|
|
"binary_args": kwargs["binary_args"],
|
|
"user_stylesheets": kwargs.get("user_stylesheets"),
|
|
"render_backend": kwargs.get("servo_backend")}
|
|
|
|
|
|
def executor_kwargs(test_type, server_config, cache_manager, run_info_data,
|
|
**kwargs):
|
|
rv = base_executor_kwargs(test_type, server_config,
|
|
cache_manager, **kwargs)
|
|
rv["pause_after_test"] = kwargs["pause_after_test"]
|
|
return rv
|
|
|
|
|
|
def env_options():
|
|
return {"host": "127.0.0.1",
|
|
"external_host": "web-platform.test",
|
|
"bind_hostname": "true",
|
|
"testharnessreport": "testharnessreport-servo.js",
|
|
"supports_debugger": True}
|
|
|
|
|
|
def run_info_extras(**kwargs):
|
|
return {"backend": kwargs["servo_backend"]}
|
|
|
|
|
|
def update_properties():
|
|
return ["debug", "os", "version", "processor", "bits", "backend"], None
|
|
|
|
|
|
def render_arg(render_backend):
|
|
return {"cpu": "--cpu", "webrender": "-w"}[render_backend]
|
|
|
|
|
|
class ServoBrowser(NullBrowser):
|
|
def __init__(self, logger, binary, debug_info=None, binary_args=None,
|
|
user_stylesheets=None, render_backend="webrender"):
|
|
NullBrowser.__init__(self, logger)
|
|
self.binary = binary
|
|
self.debug_info = debug_info
|
|
self.binary_args = binary_args or []
|
|
self.user_stylesheets = user_stylesheets or []
|
|
self.render_backend = render_backend
|
|
|
|
def executor_browser(self):
|
|
return ExecutorBrowser, {"binary": self.binary,
|
|
"debug_info": self.debug_info,
|
|
"binary_args": self.binary_args,
|
|
"user_stylesheets": self.user_stylesheets,
|
|
"render_backend": self.render_backend}
|