mirror of
https://github.com/servo/servo
synced 2026-04-26 01:25:32 +02:00
All other browsers use a single configuration for their browser invocations on WPT. Servo historically had two: servo and servodriver. Now that we run WPT on Servo GitHub CI with Webdriver using the servodriver, we can align our configuration with theirs. The existing "servo" configuration is renamed to "servo_legacy" and "servodriver" is then renamed to "servo". This way, we preserve the "servo" product name as defined on wpt.fyi, but we do use its webdriver configuration. Since webdriver is not fully working yet for debugging purposes, we keep the "servo_legacy" configuration now. In the future, once the debugging story has improved, we can remove "servo_legacy". All in all, this ensures that both on local, Servo GitHub CI and on wpt.fyi we all use the exact same configuration. I tested this locally by running the following test: ``` ./mach test-wpt tests/wpt/tests/css/css-overflow/scrollbar-gutter-dynamic-004.html ``` This does times out with the servo binary and works with the servodriver binary. Running the servo_legacy configuration is done via the `--servo-legacy` flag: ``` ./mach test-wpt tests/wpt/mozilla/tests/mozilla/caption.html --servo-legacy ``` Fixes #40751 --------- Signed-off-by: Tim van der Lippe <tvanderlippe@gmail.com>
69 lines
2.4 KiB
Python
69 lines
2.4 KiB
Python
# Copyright 2023 The Servo Project Developers. See the COPYRIGHT
|
|
# file at the top-level directory of this distribution.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
|
|
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
|
|
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
|
|
# option. This file may not be copied, modified, or distributed
|
|
# except according to those terms.
|
|
|
|
from argparse import ArgumentParser
|
|
import os
|
|
import sys
|
|
|
|
import mozlog.commandline
|
|
|
|
from . import test
|
|
|
|
SCRIPT_PATH = os.path.abspath(os.path.dirname(__file__))
|
|
SERVO_ROOT = os.path.abspath(os.path.join(SCRIPT_PATH, "..", ".."))
|
|
WPT_PATH = os.path.join(SERVO_ROOT, "tests", "wpt")
|
|
WPT_TOOLS_PATH = os.path.join(WPT_PATH, "tests", "tools")
|
|
CERTS_PATH = os.path.join(WPT_TOOLS_PATH, "certs")
|
|
|
|
sys.path.insert(0, WPT_TOOLS_PATH)
|
|
import localpaths # noqa: F401,E402
|
|
import wptrunner.wptcommandline # noqa: E402
|
|
|
|
|
|
def create_parser() -> ArgumentParser:
|
|
parser = wptrunner.wptcommandline.create_parser()
|
|
parser.add_argument(
|
|
"--rr-chaos", default=False, action="store_true", help="Run under chaos mode in rr until a failure is captured"
|
|
)
|
|
parser.add_argument("--pref", default=[], action="append", dest="prefs", help="Pass preferences to servo")
|
|
parser.add_argument(
|
|
"--log-servojson",
|
|
action="append",
|
|
type=mozlog.commandline.log_file,
|
|
help="Servo's JSON logger of unexpected results",
|
|
)
|
|
parser.add_argument("--always-succeed", default=False, action="store_true", help="Always yield exit code of zero")
|
|
parser.add_argument(
|
|
"--no-default-test-types",
|
|
default=False,
|
|
action="store_true",
|
|
help="Run all of the test types provided by wptrunner or specified explicitly by --test-types",
|
|
)
|
|
parser.add_argument(
|
|
"--filter-intermittents",
|
|
default=None,
|
|
action="store",
|
|
help="Filter intermittents against known intermittents and save the filtered output to the given file.",
|
|
)
|
|
parser.add_argument(
|
|
"--log-raw-stable-unexpected",
|
|
default=None,
|
|
action="store",
|
|
help="Raw structured log messages for stable unexpected results."
|
|
" '--log-raw' Must also be passed in order to use this.",
|
|
)
|
|
parser.add_argument(
|
|
"--legacy", default=False, action="store_true", help="Run WPT with the legacy Servo configuration"
|
|
)
|
|
return parser
|
|
|
|
|
|
def run_tests() -> bool:
|
|
return test.run_tests()
|