Let WPT commands take the --legacy-layout argument (#30239)

This also prints a better message when starting tests.
This commit is contained in:
Martin Robinson 2023-08-30 13:46:57 +02:00 committed by GitHub
parent 17dec241db
commit 30dbc46d17
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
7 changed files with 34 additions and 29 deletions

View file

@ -257,7 +257,6 @@ class CommandBase(object):
self.config["build"].setdefault("mode", "")
self.config["build"].setdefault("debug-assertions", False)
self.config["build"].setdefault("debug-mozjs", False)
self.config["build"].setdefault("layout-2020", True)
self.config["build"].setdefault("media-stack", "auto")
self.config["build"].setdefault("ccache", "")
self.config["build"].setdefault("rustflags", "")

View file

@ -31,10 +31,8 @@ def create_parser():
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('--layout-2020', '--with-layout-2020', default=True,
action="store_true", help="Use expected results for the 2020 layout engine")
parser.add_argument('--layout-2013', '--with-layout-2013', default=False,
action="store_true", help="Use expected results for the 2013 layout engine")
parser.add_argument('--legacy-layout', '--layout-2013', '--with-layout-2013', default=False,
action="store_true", help="Use expected results for the legacy layout engine")
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",
@ -51,16 +49,15 @@ def create_parser():
def update_args_for_legacy_layout(kwargs: dict):
if kwargs.pop("layout_2013"):
kwargs["test_paths"]["/"]["metadata_path"] = os.path.join(
WPT_PATH, "meta-legacy-layout"
)
kwargs["test_paths"]["/_mozilla/"]["metadata_path"] = os.path.join(
WPT_PATH, "mozilla", "meta-legacy-layout"
)
kwargs["test_paths"]["/_webgl/"]["metadata_path"] = os.path.join(
WPT_PATH, "webgl", "meta-legacy-layout"
)
kwargs["test_paths"]["/"]["metadata_path"] = os.path.join(
WPT_PATH, "meta-legacy-layout"
)
kwargs["test_paths"]["/_mozilla/"]["metadata_path"] = os.path.join(
WPT_PATH, "mozilla", "meta-legacy-layout"
)
kwargs["test_paths"]["/_webgl/"]["metadata_path"] = os.path.join(
WPT_PATH, "webgl", "meta-legacy-layout"
)
def run_tests():

View file

@ -39,7 +39,12 @@ def set_if_none(args: dict, key: str, value):
def run_tests(default_binary_path: str, **kwargs):
print(default_binary_path)
legacy_layout = kwargs.pop("legacy_layout")
message = f"Running WPT tests with {default_binary_path}"
if legacy_layout:
message += " (legacy layout)"
print(message)
# By default, Rayon selects the number of worker threads based on the
# available CPU count. This doesn't work very well when running tests on CI,
# since we run so many Servo processes in parallel. The result is a lot of
@ -81,8 +86,8 @@ def run_tests(default_binary_path: str, **kwargs):
kwargs.setdefault("binary_args", [])
if prefs:
kwargs["binary_args"] += ["--pref=" + pref for pref in prefs]
if kwargs.get("layout_2013"):
kwargs["binary_args"] += ["--legacy-layout"]
if legacy_layout:
kwargs["binary_args"].append("--legacy-layout")
if not kwargs.get("no_default_test_types"):
test_types = {
@ -98,7 +103,8 @@ def run_tests(default_binary_path: str, **kwargs):
wptcommandline.check_args(kwargs)
update_args_for_legacy_layout(kwargs)
if legacy_layout:
update_args_for_legacy_layout(kwargs)
mozlog.commandline.log_formatters["servo"] = (
ServoFormatter,

View file

@ -110,7 +110,9 @@ def update_tests(**kwargs) -> int:
wptcommandline.set_from_config(kwargs)
if hasattr(wptcommandline, 'check_paths'):
wptcommandline.check_paths(kwargs)
update_args_for_legacy_layout(kwargs)
if kwargs.pop("legacy_layout"):
update_args_for_legacy_layout(kwargs)
if kwargs.get('sync', False):
return do_sync(**kwargs)
@ -126,8 +128,7 @@ def run_update(**kwargs) -> bool:
def create_parser(**_kwargs):
parser = wptcommandline.create_parser_update()
parser.add_argument("--layout-2020", "--with-layout-2020", default=True, action="store_true",
help="Use expected results for the 2020 layout engine")
parser.add_argument("--layout-2013", "--with-layout-2013", default=False, action="store_true",
help="Use expected results for the 2013 layout engine")
parser.add_argument("--legacy-layout", "--layout-2013", "--with-layout-2013",
default=False, action="store_true",
help="Use expected results for the legacy layout engine")
return parser