mirror of
https://github.com/servo/servo.git
synced 2025-06-24 17:14:33 +01:00
Add support for running W3C CSS tests.
These are run through the same harness as the web-platform-tests.
This commit is contained in:
parent
2bde318d24
commit
b2a5225831
5 changed files with 110 additions and 1 deletions
|
@ -93,7 +93,7 @@ class MachCommands(CommandBase):
|
|||
return self.infer_test_by_dir(params)
|
||||
|
||||
test_start = time()
|
||||
for t in ["tidy", "ref", "content", "wpt", "unit"]:
|
||||
for t in ["tidy", "ref", "content", "wpt", "css", "unit"]:
|
||||
Registrar.dispatch("test-%s" % t, context=self.context)
|
||||
elapsed = time() - test_start
|
||||
|
||||
|
@ -245,6 +245,33 @@ class MachCommands(CommandBase):
|
|||
execfile(run_file, run_globals)
|
||||
return run_globals["update_tests"](**kwargs)
|
||||
|
||||
@Command('test-css',
|
||||
description='Run the web platform tests',
|
||||
category='testing',
|
||||
parser=wptcommandline.create_parser())
|
||||
@CommandArgument('--release', default=False, action="store_true",
|
||||
help="Run with a release build of servo")
|
||||
def test_css(self, **kwargs):
|
||||
self.ensure_bootstrapped()
|
||||
self.ensure_wpt_virtualenv()
|
||||
|
||||
run_file = path.abspath(path.join("tests", "wpt", "run_css.py"))
|
||||
run_globals = {"__file__": run_file}
|
||||
execfile(run_file, run_globals)
|
||||
return run_globals["run_tests"](**kwargs)
|
||||
|
||||
@Command('update-css',
|
||||
description='Update the web platform tests',
|
||||
category='testing',
|
||||
parser=updatecommandline.create_parser())
|
||||
def update_css(self, **kwargs):
|
||||
self.ensure_bootstrapped()
|
||||
self.ensure_wpt_virtualenv()
|
||||
run_file = path.abspath(path.join("tests", "wpt", "update_css.py"))
|
||||
run_globals = {"__file__": run_file}
|
||||
execfile(run_file, run_globals)
|
||||
return run_globals["update_tests"](**kwargs)
|
||||
|
||||
|
||||
def ensure_wpt_virtualenv(self):
|
||||
virtualenv_path = path.join("tests", "wpt", "_virtualenv")
|
||||
|
|
16
tests/wpt/config_css.ini
Normal file
16
tests/wpt/config_css.ini
Normal file
|
@ -0,0 +1,16 @@
|
|||
[products]
|
||||
servo =
|
||||
|
||||
[web-platform-tests]
|
||||
name = CSS tests
|
||||
remote_url = https://github.com/jgraham/css-test-built
|
||||
branch = master
|
||||
sync_path = sync_css
|
||||
|
||||
[paths]
|
||||
run-info = .
|
||||
|
||||
[manifest:upstream]
|
||||
tests = css-tests
|
||||
metadata = metadata-css
|
||||
url-base = /
|
7
tests/wpt/include_css.ini
Normal file
7
tests/wpt/include_css.ini
Normal file
|
@ -0,0 +1,7 @@
|
|||
skip: true
|
||||
[css21_dev]
|
||||
skip: false
|
||||
[xhtml1]
|
||||
skip: true
|
||||
[xhtml1print]
|
||||
skip: true
|
19
tests/wpt/run_css.py
Normal file
19
tests/wpt/run_css.py
Normal file
|
@ -0,0 +1,19 @@
|
|||
# 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/.
|
||||
|
||||
#!/usr/bin/env python
|
||||
|
||||
import run
|
||||
|
||||
paths = {"include_manifest": run.wpt_path("include_css.ini"),
|
||||
"config": run.wpt_path("config_css.ini")}
|
||||
|
||||
def run_tests(**kwargs):
|
||||
return run.run_tests(paths=paths, **kwargs)
|
||||
|
||||
def main():
|
||||
return run.main(paths)
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(0 if main() else 1)
|
40
tests/wpt/update_css.py
Normal file
40
tests/wpt/update_css.py
Normal file
|
@ -0,0 +1,40 @@
|
|||
# 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/.
|
||||
|
||||
#!/usr/bin/env python
|
||||
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
||||
here = os.path.split(__file__)[0]
|
||||
|
||||
def wpt_path(*args):
|
||||
return os.path.join(here, *args)
|
||||
|
||||
# Imports
|
||||
sys.path.append(wpt_path("harness"))
|
||||
from wptrunner import wptcommandline
|
||||
|
||||
def update_tests(**kwargs):
|
||||
from wptrunner import update
|
||||
|
||||
set_defaults(kwargs)
|
||||
logger = update.setup_logging(kwargs, {"mach": sys.stdout})
|
||||
|
||||
rv = update.run_update(logger, **kwargs)
|
||||
return 0 if rv is update.update.exit_clean else 1
|
||||
|
||||
def set_defaults(kwargs):
|
||||
if kwargs["config"] is None:
|
||||
kwargs["config"] = wpt_path('config_css.ini')
|
||||
wptcommandline.set_from_config(kwargs)
|
||||
|
||||
def main():
|
||||
parser = wptcommandline.create_parser_update()
|
||||
kwargs = vars(parser.parse_args())
|
||||
return update_tests(**kwargs)
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(0 if main() else 1)
|
Loading…
Add table
Add a link
Reference in a new issue