mirror of
https://github.com/servo/servo.git
synced 2025-08-04 21:20:23 +01:00
Reorganize Servo's WPT Python scripts
This change moves all of Servo's WPT Python support scripts into one directory as they were previously scattered throughout the directory structure. This should allow more code reuse and make it easier to understand how everything fits together. The changes: - `tests/wpt/update` → `python/wpt/importer` - `etc/ci/upstream-wpt-changes/wptupstreamer` → `python/wpt/exporter` - `etc/ci/upstream-wpt-changes/test.py` → `python/wpt/test.py` - `etc/ci/upstream-wpt-changes/tests` → `python/wpt/tests` - `tests/wpt/servowpt.py` → - `python/wpt/update.py` - `python/wpt/run.py` - `tests/wpt/manifestupdate.py` → `python/wpt/manifestupdate.py` This change also removes - The ability to run the `update-wpt` and `test-wpt` commands without using `mach`. These didn't work very well, because it was difficult to get all of the wptrunner and mach dependencies installed outside of the Python virtualenv. It's simpler if they are always run through `mach`. - The old WPT change upstreaming script that was no longer used.
This commit is contained in:
parent
9acb9cc5cf
commit
e2cf3e8d1a
52 changed files with 237 additions and 888 deletions
57
python/wpt/importer/__init__.py
Normal file
57
python/wpt/importer/__init__.py
Normal file
|
@ -0,0 +1,57 @@
|
|||
# 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 https://mozilla.org/MPL/2.0/.
|
||||
|
||||
import os
|
||||
import sys
|
||||
|
||||
from .tree import GitTree, GeckoCommit
|
||||
|
||||
from wptrunner.update import setup_logging, WPTUpdate # noqa: F401
|
||||
from wptrunner.update.base import Step, StepRunner, exit_unclean # noqa: F401
|
||||
from wptrunner.update.update import LoadConfig, SyncFromUpstream, UpdateMetadata # noqa: F401
|
||||
from wptrunner import wptcommandline # noqa: F401
|
||||
|
||||
|
||||
class LoadTrees(Step):
|
||||
"""Load gecko tree and sync tree containing web-platform-tests"""
|
||||
|
||||
provides = ["local_tree", "sync_tree"]
|
||||
|
||||
def create(self, state):
|
||||
if os.path.exists(state.sync["path"]):
|
||||
sync_tree = GitTree(root=state.sync["path"])
|
||||
else:
|
||||
sync_tree = None
|
||||
|
||||
assert GitTree.is_type()
|
||||
state.update({"local_tree": GitTree(commit_cls=GeckoCommit),
|
||||
"sync_tree": sync_tree})
|
||||
|
||||
|
||||
class UpdateRunner(StepRunner):
|
||||
"""Overall runner for updating web-platform-tests in Gecko."""
|
||||
steps = [LoadConfig,
|
||||
LoadTrees,
|
||||
SyncFromUpstream,
|
||||
UpdateMetadata]
|
||||
|
||||
|
||||
def run_update(**kwargs):
|
||||
logger = setup_logging(kwargs, {"mach": sys.stdout})
|
||||
updater = WPTUpdate(logger, runner_cls=UpdateRunner, **kwargs)
|
||||
return updater.run() != exit_unclean
|
||||
|
||||
|
||||
def create_parser():
|
||||
parser = wptcommandline.create_parser_update()
|
||||
parser.add_argument("--layout-2020", "--with-layout-2020", default=False, action="store_true",
|
||||
help="Use expected results for the 2020 layout engine")
|
||||
return parser
|
||||
|
||||
|
||||
def check_args(kwargs):
|
||||
wptcommandline.set_from_config(kwargs)
|
||||
if hasattr(wptcommandline, 'check_paths'):
|
||||
wptcommandline.check_paths(kwargs)
|
||||
return kwargs
|
Loading…
Add table
Add a link
Reference in a new issue